我想写这将使用外部工具命名空间探测
使图书馆更自然的使用日志库,我想能够检测在使用COUT的命名空间。
较具体来说结果应该这样来使用
namespace A
{
void foo()
{
cout << "Something went very wrong" << endl;
}
}
namespace B
{
void bar()
{
cout << "C should equal 3" << endl;
}
}
int main()
{
B::bar();
A::foo();
}
,并输出结果应该是这样的
MODULE::B : C should equal 3
MODULE::A : Something went very wrong
我已经使用了std::streambuf
某些关键字添加到COUT的输出,所有我需要能够做的是指定在哪个命名空间中使用哪个streambuf。
我该如何做到这一点?
另外,我正在制作的库将被集成到一个项目中,该项目具有多个使用using namespace
声明的命名空间。我需要一个解决方案,不需要删除这些声明。
EDIT1:我不在乎具有由命名空间相关联,其字符串或将对象添加到任何使用的命名空间(当然除了std
)
编译器不是已经告诉过你'A :: bar()'和'B :: foo()'有问题吗? – 2013-04-09 12:38:27
可能的重复 - http://stackoverflow.com/q/10657711/2065121 – 2013-04-09 12:39:02
@AndyProwl这是一个错字,感谢您注意它 – tiridactil 2013-04-09 12:43:20