0
File1.h运行时间分辨率C++命名空间冲突
// Declaration
Class A
{
void Func();
}
//Along with some other stuff
File1.cpp
//Definition
A::Func()
{
}
// Along with some other stuff
File2.h
class A
{
void Func();
}
File2.cpp
// Definition
File2::A::Func()
{
}
File3.cpp
#include "File1.h"
#include "File2.h"
//
Invokes Func()
Main1.cpp Main2.cpp
Main1.cpp File3.cpp和File2.cpp被建立起来
Main1.cpp File3.cpp和File1.cpp构建在一起
我想调用Func()
取决于不同ent linkage
但是,它给我编译时错误。
我该如何解决编译时错误?
有没有解决上述问题的标准方法?
如果我使用File1和File2命名空间,那么我将无法动态调用 。注意:我无法更改File1.h
您可能想要在您的问题中包含编译错误。 – imaginaryboy 2010-08-24 04:19:02
你能解释一下你希望如何利用这些重复的类定义和“动态调用”吗?现在,这感觉就像一件永远不会按需要工作的东西。 – TheUndeadFish 2010-08-24 04:22:09
File1和File2不是名称空间。命名空间没有运行时间解析。 C++中的类从“class”开始,而不是“Class”。函数的定义需要指定返回类型等等... – Chubsdad 2010-08-24 04:48:03