-1
の構造体へのポインタを初期化する私はこのトピックに関するSO上で同様のスレッド(How to initialize a Pointer to a struct in C?と Initializing a pointer to a structure) を読みますがnew
かmalloc
をしようとして失敗しています。私はのtypedef
struct STP_CALLBACKS
{
STP_CALLBACK_ON_TOPOLOGY_CHANGED onTopologyChanged;
STP_CALLBACK_ALLOC_AND_ZERO_MEMORY allocAndZeroMemory;
STP_CALLBACK_FREE_MEMORY freeMemory;
...
};
構造を形成して、私は
const STP_CALLBACKS *callbacks = new STP_CALLBACKS;
で、この構造体へのポインタを初期化したいときには、実際には何もINITSないtypedefs
typedef void (*STP_CALLBACK_ON_TOPOLOGY_CHANGED) (BRIDGE* bridge);
typedef void* (*STP_CALLBACK_ALLOC_AND_ZERO_MEMORY) (unsigned int size);
typedef void (*STP_CALLBACK_FREE_MEMORY) (void* p);
typedef void (*STP_CALLBACK_ENABLE_LEARNING) (BRIDGE* bridge, unsigned int portIndex, unsigned int treeIndex, bool enable);
の束を持っています。私はかなり初心者であり、明らかに重要なことを見逃しています。それを行う正しい方法は何ですか?
P.S.上記のコードはmstp-libです。私はVS2015です。
これらは関数ポインタです。 –
何を初期化しますか? – doctorlove
次の関数内で使用する@doctorlove - [STP_CreateBridge](https://sourceforge.net/p/mstp-lib/code/HEAD/tree/trunk/_help/STP_CreateBridge.html) – Alexandr