2012-09-12 102 views
0

我只是在學習C++的基礎知識,並且已經涉及到關於指針的部分。但是,在嘗試爲指針的內容賦值時出現錯誤。有小費嗎?EXEC_BAD_ACCESS使用指針時發生xcode

#include <iostream> 
class X 
{ 
public: 
    int * x; 
    X() 
    { 
     int * x = new int; 
    } 
}; 

int main (int argc, const char * argv[]) 
{ 

    X test; 
    *(test.x) = 10; 
    return 0; 
} 
+0

該代碼似乎很好,編譯,你會發布錯誤信息嗎? – imreal

回答

2

這條線:

int * x = new int; 

聲明一個局部變量x。公共成員x仍未初始化爲指向任何分配的內存。

所以將其更改爲:

x = new int; 

會工作。

+0

這很有道理!我以這種方式瞭解到...知道我錯過了一些東西! – user1664463

相關問題