【发布时间】:2014-04-19 08:19:22
【问题描述】:
现在,我并不是说我认为这将接近正确的编码实践(假设它甚至是可能的);这个问题源于凌晨 2 点的错误: 假设类定义类似于以下内容:
class myClass
{
public:
void myMethod(const int & name);
}
及定义:
void myClass::myMethod(const int & altName)
{
//manipulate altName
}
请注意,声明和定义的参数都是 const int & 类型,唯一的区别是变量名。 我知道这不会(在 Visual Studio 2012 中)引发编译器错误或警告,但它会在运行程序时导致错误吗?
谢谢!
【问题讨论】:
-
您必须区分(成员)variaböes 和函数parameters。后者不需要在声明和定义中具有相同的名称。
标签: c++ class declaration language-lawyer definition