【发布时间】:2010-04-05 16:57:35
【问题描述】:
有代码:
struct B
{
int* a;
B(int value):a(new int(value))
{ }
B():a(nullptr){}
B(const B&);
}
B::B(const B& pattern)
{
}
我收到错误消息:
'错误 1 错误 C2533: 'B::{ctor}' : 构造函数不允许返回类型'
知道为什么吗?
附言我正在使用 VS 2010RC
【问题讨论】:
-
啊,结构/类末尾的可怕分号。
-
不幸的是,您在 Visual Studio 2019 (cl.exe v19.26.28806) 中遇到了同样无用的错误。来自 MSVC 编译器的提示会很好。显然
gcc编译器已经这样做了。我只是通过将另一个整个工人阶级复制到失败的.h和.cpp中才发现我的错误。在慢慢剥离功能、重建、重复之后,我最终得到了一个可以工作的简单版本……然后我发现了丢失的分号。啊!
标签: c++ constructor