Ошибка: linker command failed with exit code 1 (use -v to see invocation)
Задание: ввести 16-символьный массив. В словах, которые имеют окончание "ing", заменить его на "ed". Выводит такую ошибку: linker command failed with exit code 1 (use -v to see invocation)
#include<iostream>
using namespace std;
const int n = 16;
char s[n];
void changing(char s[n], int n);
int main()
{
int i;
cout<<"Enter "<<n<<" symbols"<<endl;
cout<<s[i];
changing(s, n);
}
void changing(char s[][n], int n){
int i, j;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (s[i][j] == 'i' && s[i][j+1] == 'n' && s[i][j+2] == 'g') {
s[i][j] = 'e';
s[i][j+1] = 'd';
s[i][j+2] = ' ';
}
cout << s[i][j];
}
}
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Один раз у вас объявлена функция
void changing(char s[n], int n);
второй — определена
void changing(char s[][n], int n);
Для вызванной функции changing(s,n); нет определения. Линкер ее не находит.
P.S. Если уж вы используете массив определенного при компиляции размера — то зачем его передавать отдельно?...