0
#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 In member function '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 [エラー] ',' または ';' が必要です 'StudentClass' の前に"

そして、なぜ私が間違っているのか分かりません。私が間違っているところを教えてください。どうも!

4

2 に答える 2

1

ここでの唯一のエラーは、クラスのコンストラクターを実装していないことです。しかし、それはリンカーエラーを引き起こすはずです。

これはおそらくあなたのコードではありませんが、 を定義するファイルにStudentClass.hand OopClass.h(またはその他のもの) を含めていない可能性がありますOopClass::setOopData()

編集:

void StudentClass()

StudentClass46行目で呼び出される関数を宣言します-http://codepad.org/9DP6zpHU-おそらく修飾するのを忘れました。

StudentClass::StudentClass(){
}
//THIS!
void StudentClass(){
}
void StudentClass::setStudentData() {

}
于 2012-06-11T11:24:21.880 に答える
0

エラーは、クラスと同じ名前の関数を定義することですStudentClass:

void StudentClass(){
}

その機能を削除すると、よりうまく機能するはずです。

于 2012-06-11T11:35:38.610 に答える