模稜兩可的解析度
若要執行的型別到另一個的明確轉換,您必須使用轉換 (cast),指定您想要的型別名稱。 有些句法模稜兩可輸入轉換 (cast) 的結果。 下列函式樣式型別轉型為模稜兩可:
char *aName( String( s ) );
不清楚它是函式宣告或物件宣告轉型為初始設定式的函式樣式: 它可以宣告函式傳回型別 char * 接受一個引數之型別String,它可以宣告該物件aName ,並將它初始化且值為s轉換成輸入String。
如果宣告可以視為有效的函式宣告,它會因此被視為。 它可能是不能是函式宣告時,才 — 也就是如果語法不正確,一個陳述式檢查,以確定是否為函式樣式型別轉換。 因此,編譯器會認為要進行的函式宣告的陳述式,並忽略括住識別項s。 另一方面,陳述式:
char *aName( (String)s );
和
char *aName = String( s );
已清楚地宣告的物件和使用者定義的轉換,從型別String可以在此輸入 char * 會叫用來執行的初始化aName。