2010-06-11 2 views

ответ

5

попробовать зЬй :: вектор вместо этого. Кроме того, убедитесь, что вы

#include <vector> 
4

Возможно, вы забыли включить вектор и/или импортировать std::vector в пространство имен.

Убедитесь, что вы:

#include <vector> 

Затем добавить:

using std::vector; 

или просто использовать:

bar foo(std::vector<odp> ftw); 
+0

проклятый, бить меня на одну секунду ;-) –

0

У вас есть:

#include <vector>

и

using namespace std; в коде?

<vector> определяет класс std::vector, поэтому вам нужно указать его где-то в вашем файле.

так как вы используете vector, вам нужно указать компилятору, что вы собираетесь импортировать весь std имен (возможно, это не то, что вы хотите сделать), через using namespace std;

В противном случае вектор должен быть определяется как std::vector<myclass>

0

о себе, что фрагмент кода не имеет определение bar, vector или odp. Что касается того, почему вы не получаете ошибку об определении bar, я могу только предположить, что вы выбрали ее из контекста.

Я предполагаю, что это, как предполагается определить foo как функция, что vector имен шаблона и что он должен определить параметр, называемый ftw, но в декларации ничего, что фактически не определена потребность была объявлено ранее так что компилятор знает, что означают все остальные идентификаторы.

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

struct bar {}; 
struct odp {}; 
template<class T> struct vector {}; 

bar foo(vector<odp> ftw); 
Смежные вопросы