【发布时间】:2011-04-29 23:07:05
【问题描述】:
我正在编写一个简单的 C++ 数据库,使用 Visual Studio 2008 速成版,该程序按年份对包含 NCAA 优胜者和亚军的文本文件进行排序和搜索,这些数据将保存在一个结构中。我了解如何进行排序和搜索,但是在正确初始化结构并将其传递给函数时遇到了麻烦,因为当我尝试这样做时,我在课堂上的表现方式出现了几个我无法得到的错误摆脱,任何帮助将不胜感激。
错误如下;
project5.cpp(145) : error C2676: binary
'[':'Data'未定义此运算符或转换为预定义运算符可接受的类型project5.cpp(145) : error C2228: left of
'.year'must have class/struct/unionproject5.cpp(146) : error C2676: binary
'[':'Data'未定义此运算符或转换为预定义运算符可接受的类型project5.cpp(146) : error C2228: left of
'.schoolWin'must have class/struct/unionproject5.cpp(147) : error C2676: binary
'[':'Data'未定义此运算符或转换为预定义运算符可接受的类型project5.cpp(147) : error C2228: left of
'.scoreWin'must have class/struct/unionproject5.cpp(148) : error C2676: binary
'[':'Data'未定义此运算符或转换为预定义运算符可接受的类型project5.cpp(148) : error C2228: left of
'.schoolRunnerUp'must have class/struct/unionproject5.cpp(149) : error C2676: binary
'[':'Data'未定义此运算符或转换为预定义运算符可接受的类型project5.cpp(149) : error C2228: left of
'.scoreRunnerUp'must have class/struct/unionproject5.cpp(191) : 错误 C2664:
'initializeStructure': 无法将参数 1 从'Data [100]'转换为'Data &'
我的结构声明:
const int Size = 100; // size of structure
struct Data { // Struct definintion to take in stats
int year;
string schoolWin;
int scoreWin;
string schoolRunnerUp;
int scoreRunnerUp;
} NCAAStats [Size] ;
void initializeStructure(Data& NCAAStats, int Size); // initialization function prototype
//function declaration
void initializeStructure(Data& NCAAStats, int Size) {
int Idx;
for (Idx = 0; Idx < Size; Idx++) {
NCAAStats[Idx].year = 0000;//line145
NCAAStats[Idx].schoolWin = "winning school";//line146
NCAAStats[Idx].scoreWin = 000;//line147
NCAAStats[Idx].schoolRunnerUp = "losing school";//line148
NCAAStats[Idx].scoreRunnerUp = 000;//line149
}
}
//initalize the array of structures
initializeStructure(NCAAStats, Size);//line 191 function call from within main
基于最后一个错误,我认为可能出于某种原因,Visual Studio 认为我的结构名为 Data,大小为 100,而它的大小为 100 的 NCAAStats,但我不确定我做错了什么这是造成这种情况的原因,任何建议将不胜感激。
【问题讨论】:
标签: c++ visual-studio-2008 structure