簡體   English   中英

通過引用將參數傳遞給函數C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM