gpt4 book ai didi

objective-c - 为什么 Xcode 编译器不会针对指针类型安全自动出错?

转载 作者:行者123 更新时间:2023-11-30 15:21:32 24 4
gpt4 key购买 nike

例如:

void modLongerAddress(double *aPtr) {
*aPtr = 1.11;
// or some number that goes beyond the storage capacity of a single precision float
}

int main(int argc, const char * argv[]) {
float singlePrecision = 1.11;
modLongerAddress(&singlePrecision);

return 0;
}

据我所知,这只会产生警告。这种情况不会被认为危险到足以产生硬错误,还是我错过了一些东西?

最佳答案

感谢 WhozCraig 的帮助,我找到了导致此问题的设置。似乎在 XCode 6.2 (6C101) 中,有一个名为“将不兼容的指针类型警告视为错误”的设置,默认情况下设置为“”。

此设置位于项目的“build设置”中的“Apple LLVM 6.0 - 警告 - 所有语言”下。

只需切换到“”就可以了,构建如最初预期的那样失败了。

编辑:如果有人能解释为什么默认情况下将其设置为“”,我想这将是一个很大的好处?看来这可能不适用于所有版本的 Xcode?

关于objective-c - 为什么 Xcode 编译器不会针对指针类型安全自动出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29548526/

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