Ошибка несоответствия типа / значения при объявлении вектора пользовательского класса в переполнении стека

В моем заголовочном файле у меня есть пользовательский класс Arc объявлен так

class Arc{
public:
Point start, end, centre;
//an arc is specified with its centre , starting point and end point

float radius, sweep, theta;
//radius of the arc and the angle enclosed by the arc are specified

int direction;
//whether the arc is formed in the clockwise direction or the anticlockwise direcn is specfied

Arc();
Arc(Point, Point, Point, int);

void draw();
// draws the arc on the GLUT canvas

int nextDirection(Point);
// finds the direction of the arc formed by joining the end point of this arc and a new point
};

Я хочу создать вектор этого пользовательского класса. Я объявляю такой вектор:

extern vector<Arc> arcs;

Эта строка дает следующие 4 ошибки.

error: type/value mismatch at argument 1 in template parameter list for 'template<class _Tp, class _Alloc> class std::vector'|
error:   expected a type, got 'Arc'|
error: template argument 2 is invalid|
error: invalid type in declaration before ';' token|

Я прочитал другой ответ, что для такого объявления нужен конструктор по умолчанию внутри класса, который я добавил. но все равно происходят те же ошибки

Замечания: Он успешно собирается на Ubuntu14.04, используя g++ компилятор. Но при попытке встроить Code :: Blocks в Windows 8.1, используя mingw-g++ это дает эту ошибку.

0

Решение

Задача ещё не решена.

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


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