Мне было интересно, как я мог бы установить постоянную переменную-член безымянного пространства имен в качестве параметра функции по умолчанию, где функция объявлена в именованном пространстве имен.
Ну, я думаю, это трудно объяснить для меня, вот пример того, что я хочу сделать:
//foo.h
namespace foo
{
void justAFunction(std::string function_string = unnamed_str);
}
//foo.cpp
#include "foo.h"
namespace foo
{
namespace
{
const std::string unnamed_str = "simple string";
}
void justAFunction(std::string function_string)
{
...
}
}
Это не ссылка …
Я все еще мог бы написать параметр по умолчанию в определении функции, но это не то, что я хочу, так как вызывающий не увидит его, верно?
Любой совет, как кодировать это правильно?
Задача ещё не решена.
Других решений пока нет …