Что не так с этой строкой кода?C++: Ошибка синтаксиса C2061: Неожиданный идентификатор
bar foo (vector ftw);
Он производит
error C2061: syntax error: identifier 'vector'
Что не так с этой строкой кода?C++: Ошибка синтаксиса C2061: Неожиданный идентификатор
bar foo (vector ftw);
Он производит
error C2061: syntax error: identifier 'vector'
попробовать зЬй :: вектор вместо этого. Кроме того, убедитесь, что вы
#include <vector>
Возможно, вы забыли включить вектор и/или импортировать std::vector
в пространство имен.
Убедитесь, что вы:
#include <vector>
Затем добавить:
using std::vector;
или просто использовать:
bar foo(std::vector<odp> ftw);
попробовать std::vector<odp>
или using std;
У вас есть:
#include <vector>
и
using namespace std;
в коде?
<vector>
определяет класс std::vector
, поэтому вам нужно указать его где-то в вашем файле.
так как вы используете vector
, вам нужно указать компилятору, что вы собираетесь импортировать весь std
имен (возможно, это не то, что вы хотите сделать), через using namespace std;
В противном случае вектор должен быть определяется как std::vector<myclass>
о себе, что фрагмент кода не имеет определение bar
, vector
или odp
. Что касается того, почему вы не получаете ошибку об определении bar
, я могу только предположить, что вы выбрали ее из контекста.
Я предполагаю, что это, как предполагается определить foo
как функция, что vector
имен шаблона и что он должен определить параметр, называемый ftw
, но в декларации ничего, что фактически не определена потребность была объявлено ранее так что компилятор знает, что означают все остальные идентификаторы.
Например, если определить новые типы следующим образом вы получите фрагмент кода, который будет компилировать:
struct bar {};
struct odp {};
template<class T> struct vector {};
bar foo(vector<odp> ftw);
проклятый, бить меня на одну секунду ;-) –