嗨,這是我第一次在這裏發佈,而且我對編碼比較陌生,所以我遇到了很多問題。大多數情況下,我可以自己學習如何解決錯誤,但現在我認爲我只是碰到了一個數組和結構的主要障礙。目前,編譯時它會給我對功能的undefine引用
undefined reference to `buildArrays(std::string, int, int, int)'
的問題是,我把每一次我嘗試「修理」的主要功能buildArray主叫時有此錯誤,改變了串PlaName爲char PlaName [25]結構球員以某種方式工作,但不會改變錯誤。無論如何,我可以嘗試更改代碼,以便數組可能會從函數調用到另一個函數中?我查找的大部分信息都是關於連接器的,大多數都沒有幫助。
順便說一句,我的作業需要我從一個文件創建一個數組,從主函數中調用函數,並在主函數的其餘部分使用該數組。我不知道該程序是否有效,因爲我無法傳遞未定義的引用錯誤。這裏大多數的程序:
using namespace std;
struct Players
{
string PlaName;
int PlaGoal;
int PlaAssist;
int Points;
};
int buildArrays(string, int, int, int);
void printArrays(string, int, int, int, int);
void sortArrays(string, int, int, int, int);
int main()
{
Players player;
buildArrays(player.PlaName,player.PlaGoal,player.PlaAssist,player.Points); //this is the error
cout<<"Chicago Blackhawks UNSORTED Report;";
}
int buildArrays(string playerNames[], int goals[], int assists[], int rating[]) //this function's format is required for the homework
{
ifstream inFile;
inFile.open("hockey.txt");
if (inFile.fail())
{
cout<<"The hockey.txt input file did not open";
exit(-1);
}
while (inFile)
for(int i = 0; i <= 25; i++)
{
inFile >> playerNames[i]
>> goals[i]
>> assists[i]
>> rating[i];
cout<<playerNames[i]<<goals[i]<<assists[i]<<rating[i];
}
inFile.close();
return 0;
}
是的,它現在有效,似乎結構是主要問題。也許有沒有可能的方法來保持buildArray中的參數和與編譯器相關的Player中的數據。謝謝您的幫助。 – user2226030