Подтвердить что ты не робот

С++ vector.push_back error: запрос для члена 'push_back'..., который представляет собой вектор неклассического типа (char, allocator (char))()() '

Я использую 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 push_back 'в string1', which is of non -class type std::vector > ()()'

Я попробовал это с вектором ints и строк, и у них была та же проблема.

4b9b3361

Ответ 1

Не используйте круглые скобки для вызова конструктора по умолчанию:

vector<char> string1;

В противном случае это объявляет функцию string1, которая не принимает аргументов и возвращает a vector<char>.

Ответ 2

Удалите парсеры в объявлении vector - они вызывают это объявление функции, а не объявление вектора.