如何解决找不到宏功能标识符
我创建了一个断言的marco,效果不错,但想打破。我复制了断言的一个并重命名了它,但是当我在一个头文件中使用它时,它就不起作用了,但是它在其他地方都可以工作。
我收到此错误:
class Fragment : BaseFragment(){
private var mPassword = StringBuilder()
}
两个宏都在同一个文件Core.h中,该文件包含在我需要的地方。
Severity Code Description Project File Line Suppression State
Error C3861 'RADIANT_TEST_BREAK': identifier not found Sandbox F:\Path\Buffer.h 63
我不知道为什么一个人不能在那个地方工作
这是我从中运行它的方法
#define RADIANT_CORE_ASSERT(x,...) { if(!(x)) { RADIANT_CORE_ERROR("Assertion Failed: {0}",__VA_ARGS__); __debugbreak(); } }
#define RADIANT_TEST_BREAK(x,__VA_ARGS__); __debugbreak(); } }
如果我将RADIANT_TEST_BREAK交换为RADIANT_CORE_ASSERT,则可以。
解决方法
我找到了导致问题的原因。
我在ifdef中有定义,但在else中没有
#ifdef RADIANT_ENABLE_ASSERTS
#define RADIANT_CORE_ASSERT(x,...) { if(!(x)) { RADIANT_CORE_ERROR("Assertion Failed: {0}",__VA_ARGS__); __debugbreak(); } }
#define RADIANT_TEST_BREAK(x,__VA_ARGS__); __debugbreak(); } }
#else
#define RADIANT_CORE_ASSERT(x,...)
//Make sure to include this line
#define RADIANT_TEST_BREAK(x,...)
#endif
这似乎只是一个地方的问题,我仍然不知道为什么,但这对我来说已经解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。