Trong C++ 0x -n3290 Mớn nước: họ thêm vào trong phần: Destructors: 12,4 điểm/2 dòng cuối cùngMột destructor Shall OR sẽ không được khai báo với một con trỏ? trong C++
**A destructor shall not be declared with a ref-qualifier.**
Trong C++ 03 Dự thảo .... họ không đề cập đến thời điểm này trong destructors?
câu hỏi của tôi là liệu
*~S() ; //this declaration is allowed or not according to the Standard's
//**~S(); ***~S() ; etc...........
kiểu này khai được phép? Không có nơi nào trong Dự thảo ông mô tả về điều này ... Tuyên bố?
Trong GCC 4.6.0, Sun/Oracle C++ 12.0, ---> tuyên bố này được phép int Comeau C/C++ -> không được phép
@ DAvid: oh ... nhưng xét về tuyên bố hủy diệt .. họ chỉ nói abut ~ operator .. nhưng không có nơi họ nói về ... tuyên bố như vậy được cho phép , không được phép vv ... như * ~ A(), & ~ A(), v.v. – user751747
@ user751747: Ngữ pháp nói rằng * vòng loại * được thêm vào các hàm ở bên phải (sau dấu * cv-qualifiers *), và điều đó có nghĩa là câu nói đến: '~ A() &;' hoặc '~ A() &&;', và định nghĩa cả hai câu đó là không hợp lệ. '&~A();' và '* ~ A(); 'không hợp lệ vì chúng không khớp với ngữ pháp * *, không cần phải cung cấp mô tả bổ sung về mọi thứ không được biên dịch. Ví dụ, không có nơi nào trong tiêu chuẩn nó nói rằng 'a] [+ =/a' là không chính xác, nó chỉ cho biết cấu trúc nào là chính xác và cái nào không khớp với bất kỳ cái nào trong số chúng. –
@ david: cảm ơn bạn – user751747