我已經在這裏搜索和閱讀了很多關於這個錯誤的帖子,但他們似乎都是關於鏈接文件在一起或者搞亂創建類。我既不幹。這只是一個簡單的程序,除了main之外還有一個函數。下面是我得到在我的編譯器錯誤,不針對任何一行代碼:用於建築x86_64的不創建類或鏈接文件,但獲得單一無效功能的'未定義引用'錯誤
未定義的符號:
「delete_repeats(字符*,詮釋&)」,從引用:在Etest法
_main .O
LD:符號(S)沒有發現建築x86_64的
collect2:LD返回1個退出狀態
這裏是我的代碼:
#include <iostream>
using namespace std;
void delete_repeats(char arr[], int& length);
int main()
{
char b;
int length = 0;
char arr[80] = {0};
for (int i = 0; i < 80; i++)
{
cin.get(b);
arr[i] = b;
length += 1;
}
cout << endl << length << endl
<< arr << endl << arr << endl;
delete_repeats(arr, length);
cout << arr << endl << length;
return 0;
}
void delete_repeats(char arr[], int length)
{
for (int i = 0; i < length; i++)
{
for (int k = 1; k < length; k++)
{
if (arr[i] == arr[k])
{
for (int j = k; j < length; j++)
{
arr[k] = arr[k+1];
}
arr[length -1] = 0;
length -= 1;
}
}
}
}
上面的錯誤是當我嘗試提交它在myprogramminglab.com
當我嘗試在代碼塊中建立它,它給了我同樣的錯誤,但較少的細節,只是「未定義的引用'delete_repeats(char *,int &)'
我在這一點上做了很多程序,使用類似的功能,但這是我第一次遇到這個錯誤。我無法弄清楚我做錯了什麼。你能幫我解決嗎?
D'oh!爲了不想錯過這麼簡單的差異,必須一直盯着它太久了。謝謝! – madEngineer
@ConfuciusSays沒問題!如果解決了您的問題,請務必將答案標記爲已接受:) –
@AnthonyVallée-Dubois請注意,只有在詢問問題15分鐘後,才能將答案標記爲已接受。 – yizzlez