массивы — ошибка C ++: ожидаемое первичное выражение перед int

Я пытаюсь создать таблицу символов на основе ввода из файла.

На данный момент у меня есть код для построчного чтения файла, разделения токенов и распечатки токена и его типа.

Теперь мне нужно найти способ сохранить эти значения (токен и тип) в таблице символов.

Я не знаком с C ++ СОВСЕМ. Первоначально я пытался создать многомерный массив, но это было неудачей, потому что я не знаю, сколько строк или токенов будет иметь файл, и я не мог динамически установить размер массивов. Теперь я решил использовать вектор векторов. Вот как выглядит моя строка кода:

vector< vector<int> > vec(4, vector<int>(4)) myVector;

Я понятия не имею, почему это не работает. Я скопировал это точно из ответа на cplusplus.com. Я также пытался

std::vector<std::vector<int> > row;

который был взят из другого вопроса ТАК. Я часами искал лучший способ создать эту таблицу и столкнулся только с проблемами.

Ошибка, которую я продолжаю получать (как указано в вопросе):

error: expected primary-expression before 'int'

Как мне это решить?

2

Решение

Вы должны выяснить, как вы хотите, чтобы ваш объект вызывался.

Если вы хотите назвать свой объект vec, вы должны написать:

std::vector< std::vector<int> > vec(4, std::vector<int>(4));

Если вы хотите назвать свой объект myVector, вы должны написать:

std::vector< std::vector<int> > myvector(4, std::vector<int>(4));

И если у вас есть «использование пространства имен std;» появляется в любом месте вашего кода, удали его и забудь, что ты когда-либо видел что-то подобное.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]