Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将对象数组添加到另一个类 我是C++编程新手。我试图在另一个类中创建一个类的对象数组。 当我试图运行这个程序时,我会出错。其中一个错误是未知重写说明符。谁能告诉我怎么修理这个吗 class Teacher { Student t[10]; public: void setMark() { t[2].mark = 80; } }; class Student { public: int mark; }; int main() { return 0; }_C++_Arrays_Object - Fatal编程技术网

如何将对象数组添加到另一个类 我是C++编程新手。我试图在另一个类中创建一个类的对象数组。 当我试图运行这个程序时,我会出错。其中一个错误是未知重写说明符。谁能告诉我怎么修理这个吗 class Teacher { Student t[10]; public: void setMark() { t[2].mark = 80; } }; class Student { public: int mark; }; int main() { return 0; }

如何将对象数组添加到另一个类 我是C++编程新手。我试图在另一个类中创建一个类的对象数组。 当我试图运行这个程序时,我会出错。其中一个错误是未知重写说明符。谁能告诉我怎么修理这个吗 class Teacher { Student t[10]; public: void setMark() { t[2].mark = 80; } }; class Student { public: int mark; }; int main() { return 0; },c++,arrays,object,C++,Arrays,Object,只需交换两个类的顺序。编译器不知道Student是什么,因为当编译器到达Student t[10]行时它没有被声明 顺便说一句,您可能希望使用vector而不是数组。您在班主任中使用的是student对象,在调用之前它甚至还没有声明过。如果要在教师类中使用前者,则必须在教师类之前声明学生类。解析教师定义时,学生符号未知。编译器不知道它命名了一个类型。我的编译器gcc抛出一个错误: main.cpp:3:5: error: ‘Student’ does not name a type S

只需交换两个类的顺序。编译器不知道Student是什么,因为当编译器到达Student t[10]行时它没有被声明


顺便说一句,您可能希望使用vector而不是数组。

您在班主任中使用的是student对象,在调用之前它甚至还没有声明过。如果要在教师类中使用前者,则必须在教师类之前声明学生类。

解析教师定义时,学生符号未知。编译器不知道它命名了一个类型。我的编译器gcc抛出一个错误:

main.cpp:3:5: error: ‘Student’ does not name a type
     Student t[10];
     ^
我没有看到任何未知的覆盖说明符。这可能与您正在使用的不同编译器有关,或者与您没有向我们展示的其他问题有关


解决方案是什么?首先定义Student,因为它不依赖于教师。

您需要首先声明Student类或在代码顶部添加原型

class Student
{
public:
    int mark;
};

class Teacher
{
    Student t[10];
public:
    void setMark()
    {
        t[2].mark = 80;
    }
};

int main() {
    return 0;
}

如果你在老师面前定义班级学生呢?为什么要投反对票?我对它进行了测试,效果良好。如果有其他问题,问题中没有给出。请注意,问题声称存在不同的错误。正确的行动方针是要求一份工作。你不知道是否与发布的代码有任何联系,而这名OP实际上正在试图修复。@juanchopanza如果这是正确的做法,你为什么不要求它?@CygnusX1这是我通过适当的近距离投票做的第一件事。@juanchopanza没有任何评论,这可能被视为有点咄咄逼人,你不觉得吗?留下明确要求MCVE的评论也是一种可能的方式