use*_*009 2 c++ compiler-bug visual-studio-2012 visual-studio-2013
请告诉我为什么我的程序被编译和执行时,我将构造函数视为没有私有和公共部分的类,只需class在其前面写下单词,如下所示:
class sample
{
private:
int a,b;
public:
class sample(int a1){a = a1;}
};
Run Code Online (Sandbox Code Playgroud)
这是无效的,我的编译器拒绝它.构造函数必须使用类名来声明,没有一流的键(即无class,struct或union关键字).
也许你的编译器接受详细的类型说明符作为构造函数名称; 但如果是这样,这是一个非标准的扩展,你不应该依赖它.如果你很幸运,编译器可能会提供一个禁用扩展的选项,如果你不想永远绑定到那个编译器,你应该使用它.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |