Как сказано в C ++ документах :
Символы, объявленные внутри блока пространства имен, помещаются в именованную область видимости, что предотвращает их ошибочное принятие за символы с одинаковыми именами в других scopes.
Имея это в виду, функция myFunction
из вашего заголовочного файла и функция myFunction
из вашего исходного файла не являются частью одного и того же пространства имен. Функция из заголовочного файла является частью пространства имен binary_converter
, тогда как функция из исходного файла является частью глобального пространства имен.
Поэтому вам необходимо заключить в функцию
int myFunction() {
return 0;
}
из Исходный файл в пространство имен binary_converter
, например:
namespace binary_converter {
int myFunction() {
return 0;
}
}
или используйте оператор области действия, чтобы заметить, что myFunction
принадлежит пространству имен binary_converter
, например:
int binary_converter::myFunction() {
return 0;
}