使用Borland C ++编译器(版本5.5)的问题

时间:2011-03-14 22:37:17

标签: c++ compiler-errors namespaces borland-c++

声明:

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找到了this wiki page。它没什么用。


我放弃了。我正在做雷米说的话。

2 个答案:

答案 0 :(得分:2)

尝试删除.cpp文件中的命名空间块,并且只限定整个构造函数:

#include "sample.h"

a::b::Classe::Classe(){} 

答案 1 :(得分:0)

如果所有声明都在一个块中,您可以尝试将namespace b { }更改为struct b { };