こんにちは、ここに投稿するのは初めてです。私はコーディングに比較的慣れていないため、多くの問題を抱えています。ほとんどの場合、エラーを修正する方法について自分で学ぶことができますが、今は配列と構造体で大きな障害にぶつかっただけだと思います。現時点では、コンパイルすると私に与えられます
undefined reference to `buildArrays(std::string, int, int, int)'
問題は、メイン関数で buildArray 呼び出し元を「修正」しようとするたびにこのエラーが発生し続け、構造 Players で文字列 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;
}