结构中的错误"Incomplete type is not allowed"
Error "Incomplete type is not allowed" in struct
>我在 c++ 代码中收到"不允许不完整的类型"错误。
我的程序是从输入文件中读取学生数据,按字母顺序对姓名进行排序,并打印出排序后的姓名及其数据。数据包括身份证号码和考试成绩。
输入文件包括以下内容的重复: 1. 学生人数(16人( 2. 测试次数(即 6 次( 3. 学生姓名 4. 身份证号码 5 - 10.考试成绩
输出文件应包括以下内容的重复: 1. 名称 2. 身份证号码 3. 第一次考试成绩 4. 平均分 5. 字母等级
以下是我的结构行:
struct sGrade
{
string Name[20];
int IDnum[20];
float scores[5];
};
但就在这里,在主线中,"sGrade grade[size]"行中的"grade"会收到这种错误。
string s;
getline(inputf, s);
sizeS = stoi(s);
string t;
getline(inputf, t);
sizeT = stoi(t);
const int size = 16;
sGrade grade[size];
for (int i = 0; i < size; ++i)
{
getline(inputf, grade[i].Name);
getline(inputf, s);
grade[i].IDnum = stoi(s);
for (int j = 0; j < sizeT; ++j)
{
getline(inputf, grade[i].scores);
}
}
什么写得不完整?我必须以另一种方式接近它吗?请向我建议一些解决方案。
谢谢!
所以代码中存在很多问题,主要是围绕类型不兼容。
getline(inputf, grade[i].Name);
表示grade[i].Name
应该是一个字符串,但它被声明为 20 个字符串的数组。
grade[i].IDnum = stoi(s);
表示grade[i].IDnum
应该是一个int
但它被声明为 20 个整数的数组
getline(inputf, grade[i].scores)
表示grade[i].scores
应该是一个字符串,但它被声明为 5 个浮点数的数组。
你必须更仔细地考虑你声明的类型和你给事物命名。你真的希望sGrade
有 20 个名字和 20 个 ID 吗?或者(更有可能(你真的希望sGrade
有一个名字和一个 ID,然后声明一个 20 个 sGrade 的数组?
这是我认为代码应该是什么,但只有你才能确定
struct sGrade
{
string Name;
int IDnum;
float scores[5];
};
for (int i = 0; i < size; ++i)
{
getline(inputf, grade[i].Name);
getline(inputf, s);
grade[i].IDnum = stoi(s);
for (int j = 0; j < sizeT; ++j)
{
getline(inputf, s);
grade[i].scores[j] = stof(s);
}
}
相关文章:
- Directx 11 - CompileFromFile() is not compiling
- Centos7 g++ "to_string is not in a member of std"
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- reference_wrapper导致"incomplete type is not allowed"
- 结构中的错误"Incomplete type is not allowed"
- "Called Object Type is Not a Function or Pointer" 与 typedef 和类
- 无法创建 DLL:获取 DLL "is not a valid Win32 application"
- Atom gpp编译器给出"'C:UsersadminUser' is not recognized as an internal or..."错误
- 当我编译XG-Bosst时,出现错误"error: 'Split' is not a member of 'xgboost::common' ……"
- C++ DLL 运行时错误"abc.dll is not a valid WIN32 application" 。请帮助解决这个问题
- 如何修复 eigen3 中的'non-type template argument is not a constant expression'?
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 如何修复此错误"the value of 'x1' is not usable in a constant expression"?static_assert
- 加载安全区图像"A device attached to the system is not functioning"
- 巴泽尔中的错误"name 'new_local_repository' is not defined"
- 如何修复 SDL2 "GLSL 3.30 is not supported"错误
- 函数模板(它是类模板的成员)的显式专用化会产生"partial specialization is not allowed"错误,为什么?
- 为什么"an inherited constructor is not a candidate for initialization from an expression of the same or
- CGAL 绘制函数在 Visual Studio 中给出'CGAL_USE_BASIC_VIEWER is not defined'错误
- "OpenCV Error: The function/feature is not implemented"安卓应用程序