1

私のメイクファイルには 2 つのヘッダー ファイルがあります。

1つは関数シンボル「uint32_t util::hash(const char*)」を持ち、

もう1つは名前空間シンボル「namespace util::hash {}」を持っています

g ++は不平を言います:

StringUtil.h:24: error: ‘uint32_t util::hash(const char*)’ redeclared as different kind of symbol
../util/hash/Hash_Interface.h:8: error: previous declaration of ‘namespace util::hash { }’

これら2つのファイルは他のlibからのものであるため、名前を変更できません。それを解決する方法は?

4

1 に答える 1

1

次のように、ヘッダー ファイルのインクルードの 1 つを名前空間に配置できます。

namespace foo
{
#include "some_file.h"
}

"some_file.h"これで、ヘッダー ファイルのすべてのシンボルがfoo名前空間に含まれるようになりました。

于 2013-09-19T14:03:49.513 に答える