【发布时间】:2009-04-01 15:29:54
【问题描述】:
我有以下 C++ 代码,其中声明中构造函数的参数与构造函数的定义具有不同的常量。
//testClass.hpp
class testClass {
public:
testClass(const int *x);
};
//testClass.cpp
testClass::testClass(const int * const x) {}
我能够使用 g++ 编译它而没有警告,这段代码应该编译还是至少给出一些警告?事实证明,64 位 solaris 上的内置 C++ 编译器给了我一个链接器错误,这就是我注意到存在问题的原因。
在这种情况下,匹配参数的规则是什么?这取决于编译器吗?
【问题讨论】: