C++ 打印使用参数定义的方法名称
我们正在使用一种方法C++ 打印使用参数定义的方法名称,c++,.net,visual-c++,dev-c++,C++,.net,Visual C++,Dev C++,我们正在使用一种方法 #define CM_VALUE_1 CM_Method(3001) CM_方法是在同一文件中定义的方法 我只想在vc++中使用CM\u VALUE\u 1打印CM\u方法(3001),间接使用stringize预处理器操作符来获取所需内容 #define MAKE_STR(X) #X #define MAKE_STR2(X) MAKE_STR(X) std::cout << MAKE_STR(CM_VALUE_1
#define CM_VALUE_1 CM_Method(3001)
CM_方法是在同一文件中定义的方法
我只想在vc++中使用
CM\u VALUE\u 1
打印CM\u方法(3001)
,间接使用stringize预处理器操作符来获取所需内容
#define MAKE_STR(X) #X
#define MAKE_STR2(X) MAKE_STR(X)
std::cout << MAKE_STR(CM_VALUE_1)
<< " is " << MAKE_STR2(CM_VALUE_1)
<< std::endl;
如果
MAKE_STR2
的参数本身是一个宏,则在调用MAKE_STR
时会将其展开,因此结果是将参数定义为的字符串化,而不是宏名称本身。间接使用字符串化预处理器操作符来获取所需内容
#define MAKE_STR(X) #X
#define MAKE_STR2(X) MAKE_STR(X)
std::cout << MAKE_STR(CM_VALUE_1)
<< " is " << MAKE_STR2(CM_VALUE_1)
<< std::endl;
如果
MAKE_STR2
的参数本身是一个宏,则在调用MAKE_STR
时会将其展开,因此结果是将参数定义为的字符串化,而不是宏名称本身。您能给出一个所需用法的示例吗?@abhiifdef CM_VALUE\u 1 std::cout Sorry,我们不能直接打印,我们必须使用CM_值打印“CM_方法(3001)”only@abhi294074,您能否将其定义为“CM_方法(3001)”
?你所需要的是std::难道你已经问了7个问题而没有接受一个答案吗。你不喜欢被帮助吗?你能给出一个想要使用的例子吗?@abhi#ifdef CM_VALUE_1 std::对不起,我们不能直接打印,我们必须使用CM_VALUE_1打印“CM_方法(3001)”only@abhi294074,您能否将其定义为“CM_方法(3001)”
?你所需要的是std::难道你已经问了7个问题而没有接受一个答案吗。你不喜欢别人的帮助吗?