我覺得問題的標題有點混亂,所以我會解釋一下。我可以使用非默認數據類型作爲1行函數的參數嗎?
讓我們看看這個非常簡單的代碼。
#include <iostream>
class C {
public:
int val;
C(){
val = 2;
}
void changeVal(int i){
val = i;
}
};
void printout(int val){
std::cout << "int val : " << val << std::endl;
}
void printout(C c){
std::cout << "class val : " << c.val << std::endl;
}
int main()
{
C c;
printout(1);
printout(c);
//printout(C()); // ok, I can understand it.
//printout(C().changeVal(0)); /// ?????
return 0;
}
正如你所看到的,功能「打印」是打印出來的輸入參數。 我的問題是,當我使用int值(默認數據類型),然後我只是放入函數實數'1',但是,當我使用我的類實例('類C'),那麼我必須聲明我的函數之前的類實例。
那麼,有沒有什麼辦法可以使這種函數參數的非默認數據類型在1行?
實際情況是,我必須使用4x4矩陣作爲一些函數的參數。 因此,我必須做一些矩陣,並初始化(使零),並使用它。 但是如果我只用1行就能完成同樣的工作,我的源代碼將比現在更清晰。
這是我的問題。我希望你能理解我的問題。謝謝。
我已經刪除了C標籤。 'class'和''的使用意味着這個問題只關於C++ –
simonc
您是否可以打印輸出(C())' –
Btw不確定您的意思是「默認數據類型」,「內置語言數據類型/原始類型「會更好 –