Witam,
Od jakiegoś czasu męczę się z kawałkiem kodu, który zdawał mi się prosty i oczywisty, zdaje mi się że to jakiś głupi błąd.
Dokładnie chodzi o to że mam klasę calculator, w niej zdefiniowany typ wyliczeniowy enum complexNotation, oraz 2 metody które zwracają wartość tego właśnie typu.
Podczas kompilacji wyświetla mi się błąd:
Error 1 error C2143: syntax error : missing ';' before 'calculator::getDisplayNotation'
Error 2 error C2761: 'calculator::complexNotation ' : member function redeclaration not allowed
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Error 4 error C2556: 'int calculator::getDisplayNotation(void)' : overloaded function differs only by return type from 'calculator::complexNotation calculator::getDisplayNotation(void)'
Error 5 error C2371: 'calculator::getDisplayNotation' : redefinition; different basic types
Szukałem odpowiedzi w google i próbowałem się do nich dostosować(wcześniej definicja tego typu wisiała w powietrzu(poza klasą) i też pod Visualem nie działało)
Podaję kod:
rpn.cpp:
#include <iostream>
#include <string>
#include "complex.h"
#include "rpn.h"
calculator::complexNotation calculator::getDisplayNotation()
{
return this->displayNotation;
}
rpn.h
class calculator{
private:
complexNotation displayNotation;
complexNotation inputNotation;
...
public:
enum complexNotation { CN_TraditionalNotation, CN_ScientificNotation};
complexNotation getDisplayNotation();
complexNotation getInputNotation();
...
Z góry dzięki za podpowiedzi ;)