gpt4 book ai didi

c++ - Boost如何直接使用流插入到C字符串中?

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:39 24 4
gpt4 key购买 nike

this example和几个相关页面,Boost 似乎直接在 const char 数组上使用流插入运算符 (<<)。

BOOST_TEST_INFO("With parameter j = " << j);

有或没有“BOOST_TEST_INFO”或其他宏,我总是得到预期的编译器错误

error: invalid operands of type const char[#] and int to binary operator<<

在 Boost header 的深处有一个名为 basic_cstring.hpp 的文件,我认为它是相关的,但它没有明确包含在示例中(并且从我的源代码中包含它似乎没有什么区别。)我是什么我不见了?

编辑 - 当且仅当在预处理过程中发现周围的宏时,才选择流插入运算符;否则,第一个错误是红鲱鱼“无效的运算符......到二元运算符”。向 BOOST_TEST_MESSAGE 提供完全相同的行成功,但 BOOST_TEST_INFO、BOOST_TEST_CONTEXT 等未声明,这是一个单独的问题(据我所知)。

最佳答案

宏扩展为 SOMETHING << "With parameter j = " << j所以它不会在字符串文字中插入任何东西,不超过 cout << 1 << 2插入 2进入1 .

关于c++ - Boost如何直接使用流插入到C字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35072151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com