在C++ 0x中-n3290草案:他們在一節說:解構:12.4 /第二點最後一行析構函數應該不應該用指針聲明嗎?在C++
**A destructor shall not be declared with a ref-qualifier.**
在C++ 03草案....他們沒有提到這一點在破壞者?
我的問題是這樣的類型聲明是否
*~S() ; //this declaration is allowed or not according to the Standard's
//**~S(); ***~S() ; etc...........
被允許? 他在草稿中沒有描述過這個......宣言?
在GCC 4.6.0,太陽/ Oracle的C++ 12.0 --->這個聲明是允許 INT科莫C/C++ - >不允許
@ DAvid:哦......但是根據析構函數的聲明..他們只說鄰接操作符..但沒有他們所說的內容......允許這樣的聲明,不允許使用等... like *〜A(),&〜A()等 – user751747
@ user751747:語法規定* ref-qualifier *被附加到最右側的函數中(在* cv-qualifiers之後*),這意味着該句子引用:'〜A()&;'或'〜A()&&;',並將它們定義爲無效。 '&~A();'和'*〜A();'是無效的,因爲它們與*語法*不匹配,所以不需要對所有不應該編譯的內容提供額外的描述。例如,在標準中沒有任何地方說'a] [+ =/a'是不正確的,它只說明什麼構造是正確的,哪一個與它們中的任何一個都不匹配。 –
@ david:謝謝 – user751747