В моем заголовочном файле у меня есть пользовательский класс 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++
это дает эту ошибку.
Задача ещё не решена.