我使用其中一種方法,這種方式聲明的第三方庫:在C++語言中,你如何創建一個新的對象,這是一個指向數組的指針?
void nexLoop(NexTouch *nex_listen_list[]);
在單.cpp
文件的情況下,這是工作:
NexButton b0 = NexButton(0, 1, "b0");
NexTouch *nex_listen_list[] =
{
&b0,
NULL
};
...
nexLoop(nex_listen_list);
完整的示例代碼可以看到這裏:https://github.com/itead/ITEADLIB_Arduino_Nextion/blob/master/examples/CompText/CompText.ino
現在我將這個庫中的一個類,它有一個單獨的標題和c文件,所以:
MyNextion.h
#include "Nextion.h"
class MyNextion {
public:
MyNextion();
void loop();
private:
NexButton *b0;
NexTouch *nex_listen_list[];
}
MyNextion.cpp
#include "MyNextion.h"
MyNextion::MyNextion() {
b0 = new NexButton(0, 1, "b0");
nex_listen_list = new ???
}
MyNextion::loop() {
nexLoop(nex_listen_list); // ???
}
我用指針和地址的運營商瞎搞,但我無法找到合適的組合,編譯成功。
我的問題是:你會怎樣把這裏:nex_listen_list = new ???;
而且,我不知道標題以及定義我的問題。如果你對標題有更好的想法,請糾正它。
謝謝!
這是什麼語言?看起來不像C.嘗試看起來像C++,但它失敗了。 – DeiDei
好的,你可能是對的。其實這是Arduino代碼,它是C/C++。 – papaiatis
「一個新的對象是指向數組的指針」?對我沒有任何意義。 – dandan78