c++ - 将简单的宏作为函数参数传递给 'too few arguments in function call'

标签 c++ function compiler-errors

好的,这有点奇怪。我声明了以下功能:

void setMeshAttribute(int& ID, int attribute, int value);

当我打电话时:
setMeshAttribute(mesh_1_id, 0 ,0);

我什么都没问题。但后来我定义
#define XE_MAX_VERTICES 0

并尝试:
setMeshAttribute(mesh_1_id, XE_MAX_VERTICES, 0);

我在XE_MAX_VERTICES处收到错误,告诉我“函数调用中的参数太少”。现在,我看到的是编译器将XE_MAX_VERTICES替换为0,一切都会好起来。显然不是。

我在这里做错了什么?

如果已经有解决此类问题的问题,请链接到它,因为我自己找不到。

最佳答案

好吧,那真是愚蠢。代替

#define XE_MAX_VERTICES 0

我有:
#define XE_MAX_VERTICES 0;

另外,我的问题中的代码没有多大帮助,因为分号根本不在那儿。

感谢Joachim Pileborg告诉我,我的例子必须是可验证的。

关于c++ - 将简单的宏作为函数参数传递给 'too few arguments in function call',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937139/

相关文章:

c++ - 从 QApplication 访问所有线程

c - getchar 是否定义为宏?

function - 为什么我不能直接将地址运算符 (&) 应用于函数返回值

arrays - VBA 数组和字符串错误

perl - 为什么在我的代码生成程序中出现此语法错误?

c++ - 如何从 boost::property_tree 获取枚举?

c++ - 无法使用 BaseClass 的 shared_ptr 访问派生类的成员

C++如何为 float 设置固定的小数精度

python - 了解在单个语句中使用多个 python 装饰器

Objective-C 隐式转换 obj-c 指针到自动释放 id<protocol> 错误