2016-02-10 45 views
0

頭文件原型(.hpp)給出了g ++編譯器錯誤 - 頭文件中沒有匹配的函數類型。編寫原型(或函數參數)的正確方法是什麼?我試過哦,這麼多的組合...C++如何爲接受一個對象指針數組的函數編寫頭文件原型。

void myClass(Objects (*)[]); 

實現文件函數的定義(的.cpp)

void myClass::myFunction(Objects *ptr2object_Array) { 

    /* do stuff */ } 

徹底找過答案在這裏和其他地方...謝謝。意識到矢量講座,我堅持使用一組對象指針。

+1

是否有任何理由需要傳遞C風格的數組,而不是'std :: array'或'std :: vector'? – Cubic

+1

'對象(*)[]'不是對象指針數組的類型;它是指向一組對象的指針的類型。 – immibis

+0

@Cubic - 我不確定C風格數組有什麼不同。它是一個指向抽象類的繼承類對象的指針數組,如果有幫助的話... – Chris

回答

3

函數簽名必須完全匹配:

void myClass(Objects (*)[]); 

void myClass::myFunction(Objects (*ptr2object_Array)[]) { 

    /* do stuff */ 
} 

Objects *ptr2object_Array簡單的指針是不一樣的指針數組。

+0

謝謝!我知道這一點,但無法得到正確的組合。 – Chris

相關問題