いくつかの操作の1つを行うことができる関数が必要です:
typedef const bool (myClass::*DecoderFactory) (void);
DecoderFactory * decoderFactory = new DecoderFactory[1];
QVector<DecoderFactory> * decoderFunctions = new QVector<DecoderFactory>;
decoderFactory[0] = &MyClass::do0;
decoderFunctions->push_back(&MyClass::do0);
decoderFunctions->push_back(&MyClass::do1);
...
const bool someFunction(const short int code)
{
...
decoderFactory[0] = decoderFunctions->value(code);
if (!(this->*decoderFactory[0])()) return false;
return true;
}
const bool do0()
{
//do some
}
const bool do1()
{
//do some
}
...
これは私の現在の方法であり、確かに最善ではありません。これを簡単にすることはできますか?具体的には、なしでそれを行う方法
DecoderFactory * decoderFactory = new DecoderFactory[1];
? sh * tcodeのように明らかな、1つの要素の配列ではなく、どうすればそれを行うことができますか?