2009-06-17 85 views

回答

12

將其更改爲:

bar(*s); 
+0

我該如何做另一種方式?把const字符串轉換成字符串*? – Petr 2015-11-05 15:36:15

4
void foo(string* s) 
{ 
    bar(*s); 
} 

s指向一個字符串,bar要求(參照)字符串,所以你需要給bar什麼s點。你拼寫「s指向什麼」的方式是*s

2

將指針轉換爲引用時,確保不要嘗試轉換空指針很重要。編譯器必須允許你進行轉換(因爲通常它不能分辨它是否是有效的引用)。

void foo(string* s) 
{ 
    if(0 != s){ 
     bar(*s); 
    } 
} 

*運算符是運算符&的逆運算符。從參考轉換爲使用&(地址)的指針。將指針轉換爲引用使用*(的內容)。

相關問題