模稜兩可的解析度

若要執行的型別到另一個的明確轉換,您必須使用轉換 (cast),指定您想要的型別名稱。有些句法模稜兩可輸入轉換 (cast) 的結果。下列函式樣式型別轉型為模稜兩可:

char *aName( String( s ) );

不清楚它是函式宣告或物件宣告轉型為初始設定式的函式樣式: 它可以宣告函式傳回型別 char * 接受一個引數之型別String,它可以宣告該物件aName ,並將它初始化且值為s轉換成輸入String。

如果宣告可以視為有效的函式宣告,它會因此被視為。它可能是不能是函式宣告時,才 — 也就是如果語法不正確,一個陳述式檢查,以確定是否為函式樣式型別轉換。因此,編譯器會認為要進行的函式宣告的陳述式,並忽略括住識別項s。另一方面,陳述式:

char *aName( (String)s );

char *aName = String( s );

已清楚地宣告的物件和使用者定義的轉換,從型別String可以在此輸入 char * 會叫用來執行的初始化aName。

請參閱

參考

C + + 抽象宣告子