私は解決策を広く探しましたが、多くの人がこの問題に遭遇しましたが、応答と私が間違っていることを関連付けることができないようです.
私は自分のプログラムを、このエラーを生成する最も単純な形式に自由に抽出しました (私が知る限り):
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
#include "../JuceLibraryCode/JuceHeader.h"
class MyClass : public Timer {
public:
MyClass () {}
~MyClass (void) {}
void timerCallback () override {}
};
class MainContentComponent : public Component {
public:
MainContentComponent () {
//============ Removing the following line
//============ makes the error go away
myClasses.erase(myClasses.begin());
}
~MainContentComponent () {}
private:
std::vector<MyClass> myClasses;
};
Component* createMainContentComponent() { return new MainContentComponent(); }
#endif // MAINCOMPONENT_H_INCLUDED
私が指摘したように、削除
myClasses.erase(myClasses.begin());
エラーが消えます。MyClass (およびその純粋仮想関数) から Timer 継承を削除すると、エラーが消えることもあります。
これがエラーメッセージ全体です(imgurリンク) 。人間が読める部分以外は、私にはまったく解読できないようです。
誰が何が起こっているのか教えてもらえますか?
ありがとう