0 c++ class declaration definition language-lawyer
现在,我并不是说我认为这可以接近正确的编码实践(假设它甚至可能); 这个问题源于凌晨2点的错误:假设类定义类似于以下内容:
class myClass
{
public:
void myMethod(const int & name);
}
Run Code Online (Sandbox Code Playgroud)
和定义:
void myClass::myMethod(const int & altName)
{
//manipulate altName
}
Run Code Online (Sandbox Code Playgroud)
请注意,声明和定义的参数都是const int&类型,唯一的区别是变量名称.我知道这不会(在Visual Studio 2012中)抛出编译器错误或警告,但是在运行程序时是否会导致错误?
谢谢!
不.你甚至不需要在函数声明中使用变量名.他们的目的是文件.
显然,这可以通过以下方式进行检查:
void foo(int); // or void foo(int bar);
int main()
{
foo(42);
}
#include <iostream>
void foo(int n)
{
std::cout << n << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
一般来说,我认为没有理由使用不同的名称,并且在声明中不使用名称而不丢失信息的情况很少.
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |