我正在使用Cygwin与GCC,最终我想在一个字符文件中读入一个字符向量,并使用此代码
#include <fstream>
#include <vector>
#include <stdlib.h>
using namespace std;
int main (int argc, char *argv[] )
{
vector<char> string1();
string1.push_back('a');
return 0;
}
生成此编译时错误:
main.cpp:在
int main(int, char**)': main.cpp:46: error: request for member
std :: vector&gt;中的函数string1', which is of non -class type
push_back'中()()'
我用一个整数和字符串向量尝试了这个,他们遇到了同样的问题。
答案 0 :(得分:45)
不要使用括号来调用默认构造函数:
vector<char> string1;
否则,这会声明一个函数string1
,它不需要任何参数并返回vector<char>
。
答案 1 :(得分:6)
删除vector
声明中的parens - 它们使它成为函数声明而不是向量声明。