gpt4 book ai didi

c++ - 使用宏定义-c++ 获取错误

转载 作者:太空宇宙 更新时间:2023-11-04 15:27:09 26 4
gpt4 key购买 nike

我在以下 cpp 代码中收到 ClassID 未声明错误。

    #include "stdafx.h"
#include <iostream>
using namespace std;
#define RM_SESSION_MSG 0x11
#define DECLARE_RS232_MSG(ClassID)
enum
{
ID=ClassID
}

int main()
{
DECLARE_RS232_MSG(RM_SESSION_MSG)
return 0;
}

最佳答案

你缺少行拼接字符

#define DECLARE_RS232_MSG(ClassID) \
enum \
{ \
ID=ClassID \
}

行拼接符表示当前行和下一行合并为一行。

没有它们,宏定义在行尾结束,所以 enum在你的代码中并不是宏的一部分 DECLARE_RS232_MSG .

main 中的宏调用后您还漏掉了一个分号(在 C++ 中每个类或枚举定义后需要有一个分号)。

关于c++ - 使用宏定义-c++ 获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895374/

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