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' in string1', which is of non -class type std::vector >()()'

我试图与整数和字符串的向量以及他们也有同样的问题。

不要使用括号来调用默认的构造函数:

vector<char> string1; 

否则,该声明的函数string1,它没有argumentes并返回一个vector<char>

删除声明vector声明中的零件 - 它们使它成为函数声明而不是向量声明。