переопределенный символ между функцией класса и пространством имен

в моем make-файле есть два заголовочных файла.

у одного есть символ функции «uint32_t util :: hash (const char *)»,

у другого есть символ пространства имен «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 { }’

и эти два файла из другой библиотеки, поэтому я не могу изменить имя. Как это решить?

1

Решение

Вы можете поместить одно из включений заголовочного файла в пространство имен, например

namespace foo
{
#include "some_file.h"}

Теперь все символы из "some_file.h" Заголовочный файл находится в foo Пространство имен.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector