-8
我試圖導入到C++類,一些Ç代碼,這是非常複雜的,我不明白(請儘量不要殺我,我不知道C++ )使用類的成員函數指針
裏面一個cpp
I類有成員:
void Bluetooth::nus_data_handler(ble_nus_t * p_nus, uint8_t * p_data, uint16_t length)
{...}
void Bluetooth::services_init(void)
{
ble_nus_init_t nus_init;
nus_init.data_handler = nus_data_handler; //********* problem is here !
}
所以,當這兩個功能是相同的C文件,其確定,但是當他們是一個C++ CLAS成員有一個錯誤,我不能將此功能從一種轉換到另一種。
我明顯做了一些愚蠢的事情,如何糾正它?
在我看來,這是一個正確的問題(沒有用正確的術語表達)。 –
@AlejandroMontilla不,不是。 MCVE在哪裏? – LogicStuff
您沒有顯示您嘗試*使用*的上下文。 C++類的成員函數有一個隱含的'this'指針被傳遞(通常作爲第一個參數,但我認爲這取決於實現),因此它們不能被視爲「常規」C函數。如果你有一個'static'函數,那麼它就不是一個真正的成員,並且可以像對待一個普通的C函數一樣處理。如果它*具有*作爲成員函數,那麼你有很多工作要做,而且問題中沒有足夠的代碼讓我們知道如何幫助你。 –