我是C ++的新手并试图解决一些问题。我面临的一个问题是,我在从main()方法调用函数时收到的超出范围错误:
User@PC /cygdrive/c/Documents and Settings/---/folder
$ g++ test.cpp
test.cpp: In function ‘int main()’:
test.cpp:90:9: error: ‘test01’ was not declared in this scope
test01();
test.cpp的代码如下。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class stringStuff {
vector<string>* elements;
int frontItem;
int rearSpace;
int upperBound;
public:
stringStuff(int capacity) {
vector<string>* elements = new vector<string>(2*capacity);
frontItem = capacity;
rearSpace = capacity;
upperBound = 2 * capacity;
}
virtual void test01(){
stringStuff* sd = new stringStuff(100);
// test code here
}
};
/** Driver
*/
int main() {
test01();
}
我在这里做错了什么?
答案 0 :(得分:3)
test01
是类中的成员函数。您必须实例化该类,创建一个对象才能使用它。
这将在您的C ++书籍中尽早介绍,我强烈建议您在下次尝试之前阅读更多内容。