クラス/メソッド情報を Angelscript に渡すために asMETHOD マクロに依存しない、Angelscript が発生するより動的なワークフローを取得しようとしています。
しかし、私はこれまでのところそれを機能させることができません。
ここに私が定義したいくつかの構造体があります(クラスとメソッドのデータをセットアップするために使用します):
struct Class {
std::string name;
std::string factorySignature;
void* pointer;
void* factoryPointer;
void* addRefMethodPointer;
void* releaseRefMethodPointer;
};
struct Method {
std::string name;
std::string signature;
void* pointer;
};
asSMethodPtr
後で、以前に作成した Class 構造体オブジェクトを使用して構造体オブジェクトを作成しようとします。これが私がすることです:
auto methodPtr = asSMethodPtr<sizeof(void (classObject.pointer)())>::Convert((void (classObject.pointer)())(classObject.addRefMethodPointer));
残念ながら、これにより次のエラーが発生します。
src/common/as_wrapper/AngelScript.cpp:98:66: error: void value not ignored as it ought to be
src/common/as_wrapper/AngelScript.cpp:98:68: error: template argument 1 is invalid
src/common/as_wrapper/AngelScript.cpp:98:107: error: void value not ignored as it ought to be
src/common/as_wrapper/AngelScript.cpp:98:142: error: unable to deduce ‘auto’ from ‘<expression error>’
誰にもアイデアはありますか?この asSMethodPtr 構造体が私の C++ 能力の限界を押し上げているのではないかと心配しています...