2012-05-20 2 views
0

Я получаю ошибку «проблема циклического наследования, встречающаяся в« atan », на последней строке. Я смущен, потому что это происходит только в этой строке, а не в main(). Я включаю только файл cpp, а не где-либо еще. Поскольку ошибка только в функции класса, я думаю, что я делаю что-то неправильно с классом, но не могу понять, что это такое.C++ Circular Inheritance и Class

* Я только бросил в основном пример того, когда он работает. На самом деле не служит цели.

//.h файл

#ifndef CIRCLE_H_ 
#define CIRCLE_H_ 


    class Circle { 
    public: 
     Circle(int minVertex=12); 
     ~Circle(); 
    private: 
     int pixels; 
    }; 

#endif /* CIRCLE_H_ */ 

// CPP файл

#include <circles.h> 
#include <cmath> 
using namespace std; 

int main(){ 
    double pi = abs(9); 
} 


Circle::Circle(int minVertex = 12) { 
    pixels = 1150; 
    double pi = atan(0) *2; // problem here 
} 
+0

Кроме того, я хотел бы добавить, что это отличный сайт с хорошим сообществом. До сих пор это помогало мне много. Большое спасибо! –

ответ

4
class Circle: Circle 

У вас есть класс, который наследует от себя, как бы эта работа?

+0

Эй, это изменилось, хотя функция cmath все еще не работает. Любые другие странные проблемы? –

+0

@Blaine Chatman: Какая ошибка сейчас? –

+0

Редактировать без изменений. он работает сейчас. Благодарю. –

2
class Circle: Circle { 

Вы пытаетесь наследовать Circle от Circle?

Попробуйте просто

class Circle { 
+0

спасибо! извините за плохой вопрос. Думаю, мне нужно немного почитать на C++. –