我的問題是:調用函數的類型/引用/指針符號和函數定義中的參數有區別嗎?輸入類型和參數類型之間的差別
這個問題上來,由於下面的錯誤我:
myClass.cpp:358:44: error: no matching function for call to 'myClass::myFunction(double&, double&, double (*)[24], double (*)[30], int&)'
myClass.cpp:358:44: note: candidate is:
myClass.h:29:8: note: void myClass::myFunction(double&, double&, double**, double**, int&)
這是非常奇怪的是,編譯器建議我應該使用double&
的第一個參數,因爲實際上一個給一個變量,只是double
。第二個參數相同。但確定我可以接受...爲什麼第三個和第四個參數不匹配?
double a,b,c[24],d[30];
myFunction(a, b, &c, &d,e);
e
是myClass
一個int
屬性。功能是
void myClass::myFunction(double& a, double& b, double *c[24], double *d[30], int& e)
因爲'e'是一個'double',而不是'int'? – TemplateRex
更改int,我的錯誤 – Ruben