#define SYNC_DATA_CB list<string> (*syncData)(void)
我想在我的類中有一個成員(靜態或不是無關緊要),它將保存對函數指針的引用。ro如何聲明一個成員是指向函數的成員
我想聲明這個樣子,但沒有編譯:
SyncProcess{
public:
SyncProcess(SYNC_DATA_CB);
static SYNC_DATA_CB sync_cb_;
}
#define SYNC_DATA_CB list<string> (*syncData)(void)
我想在我的類中有一個成員(靜態或不是無關緊要),它將保存對函數指針的引用。ro如何聲明一個成員是指向函數的成員
我想聲明這個樣子,但沒有編譯:
SyncProcess{
public:
SyncProcess(SYNC_DATA_CB);
static SYNC_DATA_CB sync_cb_;
}
我想你可能會尋找是一個typedef來代替。
typedef list<string>(*syncData)(void);
class SyncProcess{
public:
SyncProcess(syncData);
static syncData sync_cb_;
};
std::function<list<string> (void)> myPointer;
使用的typedef,而不是宏:
class SyncProcess
{
public:
// Typedef to create function pointer alias SyncDataFunc
typedef list<string>(*SyncDataFunc)();
// Use alias as input parameter type
SyncProcess(SyncDataFunc func);
// Use alias as static member type
static SyncDataFunc sync_cb_;
};
這甚至還沒有接近到C;請僅使用適用的語言標記您的問題。你也沒有正確地聲明類。 –