C++调试打印到流会生成警告



我在stackoverflow上看到了这个c ++的调试打印,但我无法评论它(我是新手):

#ifdef DEBUG
#define dout cout
#else
#define dout 0 && cout
#endif

它是这样用的:

dout << "in foobar with x= " << x << " and y= " << y << 'n';

乍一看我喜欢它,但我使用 -Wall 编译,所以我收到很多警告,例如

test1.cc:30:46:警告:语句无效 [-Wunused-value]

有没有办法协调-Wall和面向流的调试打印?

这可以进一步完善,但请尝试以此为起点:

#ifdef DEBUG
#define LOG_DEBUG( stuff ) { std::cout << stuff << std::endl; }
#else
#define LOG_DEBUG( stuff )
#endif

然后在代码的后面:

LOG_DEBUG( __FILE__ << " bla bla bla " << foo );

相关内容

  • 没有找到相关文章

最新更新