【发布时间】:2012-05-27 14:46:25
【问题描述】:
我从这篇文章中学到了在命名空间中创建辅助函数。 'Helper' functions in C++
//stringhelper.hpp
namespace utility{
static std::string intToString(int integer)
{
std::stringstream sstream;
sstream << integer;
return sstream.str();
}
static void toLowerCase(std::string& y)
{
std::transform(y.begin(), y.end(), y.begin(), (int(*)(int))tolower);
}
}
我包含此标题,但收到以下警告
'void utility::toLowerCase(std::string&)' defined but not used
是的。我使用了 intToString(int integer) 但没有使用 toLowerCase(std::string&)。我不想看到这些警告或为每个标题划分一个辅助函数。
谁能提出一个好的解决方案?我应该禁用警告吗?谢谢
【问题讨论】:
-
你的编译器是什么?警告及其启用和禁用是特定于编译器的。
-
当然是 GCC。没有其他编译器会关心。
-
鉴于您使用它们的方式(包括从头文件中,因此它们在每个翻译单元中具有相同的定义),将它们设为
inline而不是static会更有意义。你有什么特别的原因要给他们内部联系吗?
标签: c++