【问题标题】:Incompatible integer to pointer conversion assigning to 'BOOL分配给 'BOOL 的不兼容整数到指针转换
【发布时间】:2015-08-03 21:09:20
【问题描述】:

我只是从以前的程序员那里继承了一个新应用程序,并继续遇到 “从 'BOOL'(又名 'bool' )"

代码之类的

_backButtonPressed = YES;

_isEdited = YES;

出现同样的错误。我试过 *(_backButtonPressed) = YES;和 *_backButtonPressed = 是,但两种情况都会使程序崩溃。

如果我不管它,程序仍然可以工作,但我想保持代码干净。有什么建议吗?

【问题讨论】:

  • _backButtonPressed 是否需要是指向BOOL 的指针?可以只是BOOL吗?
  • 我不确定。我不是最初的程序员。

标签: xcode boolean


【解决方案1】:

我的猜测是有问题的两个变量声明不正确。例如,_backButtonPressed 可能声明为

BOOL* _backButtonPressed;

但应该是

BOOL _backButtonPressed;

发生崩溃是因为 _backButtonPress 不是指针:如果是,则会有如下语句 _backButtonPressed = (BOOL*)malloc(sizeof(BOOL)); 某处。如果在您尝试分配给之前没有这样做 *(_backButtonPressed),然后你会看到一个崩溃。

声明 BOOL* 而不是 BOOL 很容易出错,因为 Cocoa 对象总是用 * 声明的

我建议您修复声明。我敢肯定,如果你这样做,一切都会好起来的。

【讨论】:

  • 我已经插入了 BOOL _backButtonPressed;但得到一个新的错误。 Unused variable '_backButtonPressed'
  • 不要插入声明,找到错误的并改变它。
  • 我不会忘记...我还在研究。
猜你喜欢
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多