[英]Passing through reference a parameter to a function C++
讓我們假設這段代碼:
void function(double &f){
// doing w/e here
}
然后在主要功能:
float v;
function(&v);
我的編譯器說這是不正確的,買我真的不明白為什么。
在同一主題上:
void function(float *&f){
// doing w/e here
}
然后在主要功能:
float *v;
function(v+5);
由於某些原因,這也是不正確的,我也沒有。
所以我的問題是:為什么這些呼叫不正確?
第一個示例是不正確的,因為&v
是指向浮點數的指針。 該函數期望引用雙精度型。 指向浮點數的指針不是對double的引用。 它們是不兼容的類型。
第二個示例是不正確的,因為v+5
是臨時的。 您不能傳遞對非const臨時文件的引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.