【发布时间】:2015-08-07 07:05:39
【问题描述】:
我对 C++ 非常陌生,并尝试创建一个简单的 Student 类,其中包含 int 类型的分数向量。
这是我的课:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
#include <sstream>
using namespace std;
class Student {
string last;
string first;
vector<int> scores(10);
public:
Student():last(""), first("") {}
Student(string l, string f) {
last = l;
first = f;
}
~Student() {
last = "";
first = "";
}
Student(Student& s) {
last = s.last;
first = s.first;
scores = s.scores;
}
Student& operator = (Student& s) {
last = s.last;
first = s.first;
scores = s.scores;
return *this;
}
void addScore(int n) {
scores.push_back(n);
}
};
由于某种原因,我得到多个 reference to non-static member function must be called; did you mean to call it with no arguments 引用向量 scores。
这是我的完整错误列表:
main.cpp:15:22: error: expected parameter declarator
vector<int> scores(10);
main.cpp:15:22: error: expected ')'
main.cpp:15:21: note: to match this '('
vector<int> scores(10);
main.cpp:30:4: error: reference to non-static member function must be called; did you mean to call it with no arguments?
scores = s.scores;
main.cpp:35:4: error: reference to non-static member function must be called; did you mean to call it with no arguments?
scores = s.scores;
main.cpp:35:15: error: reference to non-static member function must be called; did you mean to call it with no arguments?
scores = s.scores;
main.cpp:40:4: error: reference to non-static member function must be called; did you mean to call it with no arguments?
scores.push_back(n);
我尝试了很多方法,但仍然不知道这些错误是从哪里来的。我对 C++ 很陌生,所以请原谅我。任何帮助将不胜感激。
【问题讨论】:
标签: c++ vector reference compiler-errors non-static