У меня был следующий код на C++, где аргумент моего конструктора в объявлении имел разную константу, чем определение конструктора.Несоответствие между определением конструктора и объявлением
//testClass.hpp
class testClass {
public:
testClass(const int *x);
};
//testClass.cpp
testClass::testClass(const int * const x) {}
Я был в состоянии собрать это без каких-либо предупреждений с помощью G ++, следует этот код компиляции или, по крайней мере, дать некоторые предупреждения? Оказывается, встроенный компилятор C++ на 64 бит Solaris дал мне ошибку компоновщика, вот как я заметил, что проблема была.
Каково правило для сопоставления аргументов в этом случае? Это для компиляторов?
Просьба указать ссылку на стандарт. –
Я написал об этом здесь, если вам нужно больше примеров: http://stackoverflow.com/questions/269882/c-const-question/274888#274888 –
@ onebyone.livejournal.com: Спасибо. –