C++ vector.push_back错误:请求成员'push_back'...,它是非类类型'vector(char,allocator(char))()()'
问题描述:
我正在使用Cygwin和GCC,并且最终我想在字符的文件读入的字符的向量,和使用此代码C++ vector.push_back错误:请求成员'push_back'...,它是非类类型'vector(char,allocator(char))()()'
#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: In function
int main(int, char**)': main.cpp:46: error: request for member
push_back' instring1', which is of non -class type
std::vector >()()'
我试图与整数和字符串的向量以及他们也有同样的问题。
答
不要使用括号来调用默认的构造函数:
vector<char> string1;
否则,该声明的函数string1
,它没有argumentes并返回一个vector<char>
。
答
删除声明vector
声明中的零件 - 它们使它成为函数声明而不是向量声明。