使用 Borland C++ 的问题编译器(5.5 版)
声明:
namespace a {
namespace b {
class Classe {
public:
Classe();
};
}
}
定义:
#include "sample.h"
namespace a {
b::Classe::Classe(){}
}
但是通过这个定义我得到了这个错误:
错误 E2038 .\sample.cpp 4:无法 声明或定义 此处为“b::Classe::Classe()”
将源更改为:
#include "sample.h"
namespace a {
namespace b {
Classe::Classe(){}
}
}
如何在不更改整个代码的情况下进行编译?
这不是我的选择。事实上,我是一名Linux环境下的开发人员,我从来没有想过我会再次在Windows上开发。它适用于仅适用于 Borland C++ 编译器的特定客户。
我从 Embarcadero 找到了此 wiki 页面。这没什么帮助。
我放弃。我正在按照雷米说的去做。
Declaration:
namespace a {
namespace b {
class Classe {
public:
Classe();
};
}
}
Definition:
#include "sample.h"
namespace a {
b::Classe::Classe(){}
}
But with this definition I got this error:
Error E2038 .\sample.cpp 4: Cannot
declare or define
'b::Classe::Classe()' here
Everything works fine when changing source to:
#include "sample.h"
namespace a {
namespace b {
Classe::Classe(){}
}
}
How can I compile without change the whole code?
It's not my choice. In fact, I am a developer in a Linux environment, and I never thought that I would develop on Windows again. It's for a specific customer that only works with the Borland C++ compiler.
I found this wiki page from Embarcadero. It doesn't help much.
I give up. I'm doing what Remy said.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试删除 .cpp 文件中的命名空间块,然后限定整个构造函数:
Try removing the namespace block in the .cpp file, and just qualify the entire constructor:
如果所有声明都在一个块中,您可以尝试将
namespace b { }
更改为struct b { };
。If all the declarations are in one block, you could try changing
namespace b { }
tostruct b { };
.