2011-08-16 39 views
1

我得到错误的C(错误 - 未使用的变量)变量当我键入下面的代码未使用的变量错误..简单的问题

int i=10; 

,但是当我这样做(把它分解成两个语句)

int i; 
i=10; 

错误消失

..我现在用的Xcode(版本4.1)(MacOSX的狮).. 一些错误的Xcode ....

回答

5

编译器只是警告你,你声明了一个变量,而你没有使用它,没有什么不对。
这只是一个警告,不是一个错误。
虽然没有什么不对,但你必须避免声明你不需要的变量,因为它们只是占用内存,并在首先不需要的时候增加开销。

+0

感谢您的帮助队友.. –

1

编译器不是错误,但它缺少打印有意义错误的机会。

显然它会警告你是否声明了一个变量,但从来没有“使用它” - 并为它赋值就有资格使用它。这两个代码片段是等价的;第一个恰好使编译器能够更容易地检测到问题。

可能发出一个警告,它的值永远不会被读取。如果在更高的优化级别上这样做,我不会感到惊讶。 (优化所需的分析对于发现这类问题也很有用。)

编译器根本无法检测到全部这种类型的可能的问题;这样做等同于解决停机问题。 (我认为)。这就是语言标准通常不需要像这样的警告的原因,不同的编译器花费不同的工作量检测这些问题。

(实际上,编译器可能会检测所有未使用的变量的问题,但在某些误报的代价,即发出了警告的情况下那里是不是一个真正的问题。)

+0

感谢您的帮助.. –