#include <iostream>
class Core;
class State;
int main(){
std::cin.get();
return 0;
}
class State{
public:
State(Core* core){
core->setState();
}
};
class Core{
public:
Core(){
State state(this);
}
void setState(){
std::cout << "setting state" << std::endl;
}
};
Ciągle pojawia się błąd "użycie niezdefiniowanego typu". Pomyślałem, że jeśli przekażę oświadczenie obu klas, to rozwiążę problem, ale nie mogę tego rozgryźć. Czy to po prostu głupia składnia C++, której mi brakuje?Używanie niezdefiniowanego typu
EDYCJA: Przepraszam za literówkę gamestate, zmieniłem ją na Stan i nadal generuje błąd.
Masz 'class GameState;' ale gdzie jest ta klasa faktycznie zdefiniowana? – lurker