Tôi đã có mã C++ sau đây, trong đó đối số cho hàm dựng của tôi trong khai báo có độ chói khác với định nghĩa của hàm tạo.Không khớp giữa định nghĩa hàm tạo và khai báo
//testClass.hpp
class testClass {
public:
testClass(const int *x);
};
//testClass.cpp
testClass::testClass(const int * const x) {}
Tôi đã có thể biên dịch điều này mà không có cảnh báo bằng cách sử dụng g ++, mã này có nên biên dịch hoặc ít nhất là đưa ra một số cảnh báo không? Nó chỉ ra rằng trình biên dịch C++ tích hợp trên Solaris 64 bit đã cho tôi một lỗi liên kết, đó là cách tôi nhận thấy rằng có một vấn đề.
Quy tắc đối sánh đối sánh trong trường hợp này là gì? Là nó lên đến trình biên dịch?
Vui lòng cung cấp tham chiếu đến Tiêu chuẩn. –
Tôi đã viết về nó ở đây, nếu bạn cần thêm ví dụ: http://stackoverflow.com/questions/269882/c-const-question/274888#274888 –
@ onebyone.livejournal.com: Cảm ơn. –