動的配列を使用していますが、項目を追加および削除する必要がありました。単純に std::vector を使用できる場合に realloc を使用したり、配列のサイズを変更したりすることはお勧めできませんが、配列をベクターに変更する際に問題が発生しています。
これは私の現在のコードです:
int main(){
// This is what I'm doing now
State*arr[3];
int pos = 0;
arr[0] = new Menu();
// How do I change it to a vector? This is what I'm trying:
std::vector<State> vec;
vec.push_back(Menu());
...
}
ただし、「抽象型 'State' のオブジェクトを割り当てることができません」というエラーが表示され続けます。何が間違っていますか?
これらは、クラス State と Menu です。
class State
{
public:
virtual ~State() {};
virtual void capture_events() = 0;
virtual void logic() = 0;
virtual void render() = 0;
};
Menu : public State
{
public:
Menu();
~Menu();
void capture_events();
void logic();
void render();
};