我正在努力实现这一目标:
#include <iostream>
#include <sstream>
void log(
const char* argFile,
int argLineNb,
const char* argFunction,
std::stringstream& argString) {
std::cout << argFile << ":" << argLineNb << " " << argFunction
<< " " << argString.str()<< std::endl;
}
/**
* \brief Macro declarations
*/
#define LOG_TEST(f) \
log(__FILE__, __LINE__, \
__FUNCTION__, (std::ostringstream << f))
int main(int argc, char** argv) {
LOG_TEST("HELLO");
LOG_TEST("HELLO" << " !");
return 0;
}
问题是我真的不知道该怎么做,因为我收到以下错误:
'std::basic_ostream::__ostream_type {aka std::basic_ostream 类型的表达式对类型 'std::stringstream& {aka std::basic_stringstream&}' 的引用的无效初始化
我不知道是否有更简单的方法可以通过 boost...