错误:ISO C++禁止指针和整数之间的比较
Error:ISO C++ forbids comparison between pointer and integer
>我有以下几点:
wxIntPtr* value;
CreateRegKey();
if (regkeyexist) {
if (regKey->HasValue("LoggingStatus")) {
regKey->QueryValue("LoggingStatus", value);
if (value == 1)
但是我得到错误,因为C ++禁止指针和整数之间的比较
这应该编译,但我不知道它是否是你想要的:
...
if (*value == 1)
...
您正在尝试将int
与pointer
进行比较
如果您确实想查看pointer
是否1
if (value == (wxIntPtr*)(1))
否则,如果您尝试与 value
指出的值进行比较
if (*value == 1)
虽然我不知道你为什么要做第一个:)
我认为您可能应该做的是以下内容:
wxIntPtr value; // wxIntPtr on the stack
...
regKey->QueryValue("LoggingStatus", &value); // Pass by reference to modify.
if (value == 1)
这是大多数Windows编程的完成方式,API调用初始化您自己实例化的值和结构。很有可能当你wxIntPtr* value
传递给QueryValue()
时,它会尝试并像这样设置它的值:
QueryValue("LoggingStatus", &value) { *value = 1; } // For example.
在您的情况下,这将在尝试取消引用未初始化的指针时导致崩溃。
相关文章:
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 禁止指针和整数之间的比较C++
- Qt 错误 iso c++ 禁止指针和整数之间的比较 -permissive
- 递归函数,用于查找 2 个整数之间的最大值
- 如何包含整数之间的空格作为输出
- 在两个整数之间交换最右边的N位
- 打印出两个整数之间的偶数
- 定义整数之间的特殊划分
- 如何修复C++中的"指针和整数之间的比较"错误?
- 如何计算两个负整数 c++ 之间的总和
- 字符串和整数之间的模板冲突
- 如何在正整数和负整数之间进行匹配
- 将 OR 放入 if 语句会导致 ISO C++禁止指针和整数之间的比较(f 允许)
- C++无符号整数和无符号长整形整数之间的区别
- 错误(ISO C++禁止指针和整数之间的比较)[-fperemissive]
- ISO C++禁止指针和整数之间的比较
- 解释为 4 个字节的两个整数之间的计算范数
- 有符号整数和无符号整数之间的转换
- C 帮助(ISO C 禁止指针和整数之间的比较.)
- 高效实现 64 位和 32 位无符号整数之间的双向映射