在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