C++ can';t在宏中串联___;行__; #包括 #定义STR_HELPER(x)#x #定义STR(x)STR_助手(x) #定义(_文件):“STR(_行)”) int main() { std::cout

C++ can';t在宏中串联___;行__; #包括 #定义STR_HELPER(x)#x #定义STR(x)STR_助手(x) #定义(_文件):“STR(_行)”) int main() { std::cout,c++,C++,我认为您必须定义FILE\u LOCATION宏,我看不到您在代码段中定义它的代码。 但是下面的代码不是这样做的吗 #include <iostream> #define STR_HELPER(x) #x #define STR(x) STR_HELPER(x) #define (__FILE__ ": " STR(__LINE__)) int main() { std::cout << FILE_LOCATION << std::endl;

我认为您必须定义FILE\u LOCATION宏,我看不到您在代码段中定义它的代码。 但是下面的代码不是这样做的吗

#include <iostream>

 #define STR_HELPER(x) #x
 #define STR(x) STR_HELPER(x)
 #define (__FILE__ ": " STR(__LINE__))

int main()
{
   std::cout << FILE_LOCATION << std::endl;
   return 0;
}

#define(uuu FILE_uuu):“STR(uu LINE_uu))
嗯,什么?你给我们看的代码根本不可能产生那种输出。正确的定义是#define FILE_LOCATION(FILE):“STR(LINE))。我在写问题时犯了错误,但源代码有正确的定义。顺便说一下,我正在使用visual studio 6
 #define FILE_LOCATION __FILE__ ": " STR(__LINE__)