#include<iostream>
using namespace std;
class StudentClass{
friend class Oopclass;
public:
StudentClass();
void setStudentData();
void printStudentScore();
StudentClass* next;
~StudentClass();
private:
string std_ID;
int sID, sMid, sFin, sOP, hw[3];
double sTotal;
};
class OopClass{
friend class StudentClass;
public:
OopClass();
void setOopData();
void printOopScore();
void queryOopScore();
void findOopAverageScore();
void addStudentData();
void deleteStudentData();
void updateStudentData();
~OopClass();
private:
string professor, subject;
int cSn;
double cSAvg;
StudentClass* cSAddr;
};
int main(int argc, char **argv){
OopClass Info[3];
Info[0].setOopData();
return 0;
}
StudentClass::StudentClass(){
}
void StudentClass(){
}
void StudentClass::setStudentData() {
}
StudentClass::~StudentClass(){
}
OopClass::OopClass(){
}
void OopClass::setOopData() {
cout << "Professor?" << endl;
cin >> professor;
cout << "Subject?" << endl;
cin >> subject;
cout << "How many students do you want to input ?" << endl;
int number = 0;
cin >> number;
cSAddr = new StudentClass;
//for(int i = 0; i < number; i ++) setStudentData();
}
OopClass::~OopClass(){
}
当我厌倦写“cSAddr = new StudentClass;” ,它来了
错误
“C:\ Users \ lypan \ Documents \ final.cpp在成员函数中'void OopClass :: setOopData()':
63 14 C:\ Users \ lypan \ Documents \ final.cpp [错误]预期 'StudentClass'之前的类型说明符
63 14 C:\ Users \ lypan \ Documents \ final.cpp [错误]转换无效 从'int *'到'int'[-fpermissive]
63 14 C:\ Users \ lypan \ Documents \ final.cpp [Error] expected','或';' 在'StudentClass'之前“
我不知道为什么我做错了,请告诉我我弄错了什么。 THX!
答案 0 :(得分:1)
这里唯一的错误是您没有实现类的构造函数。但这应该会产生链接器错误。
这可能不是您的代码,但可能是您在{?}}定义的文件中未包含StudentClass.h
和OopClass.h
(或其他)。
编辑:
OopClass::setOopData()
你在第46行声明了一个名为void StudentClass()
的函数 - http://codepad.org/9DP6zpHU - 你可能忘了对其进行限定。
StudentClass
答案 1 :(得分:0)
错误是您定义了一个与类StudentClass
具有相同名称的函数:
void StudentClass(){
}
删除该功能,它应该更好。