爲什麼在使用const
指針時,必須在cout
子句中添加&
。我在下面的代碼中。如果我不添加&
條款它說illegal structure operation
。爲什麼const指針中的非法結構操作?
int Marks [10]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
// Create a constant pointer to Marks array
const int* pMarks = Marks;
for (int i = 0, bytes = 0; i < 10; ++i, bytes += 4)
{
cout << "Element " << i << ": " << pMarks <<" + ";
cout << bytes << " bytes" << " = " << (pMarks + i) << endl; // that & is required before (pMarks + i)
}
我想我輸出將是這樣的: 標準輸出:
元素0:0x7fff1d26d6c0 + 0字節= 0x7fff1d26d6c0
要素1:0x7fff1d26d6c0 + 4個字節= 0x7fff1d26d6c4
元素2:0x7fff1d26d6c0 + 8字節= 0x7fff1d26d6c8
元素3:0x7fff1d26d6c0 + 12字節= 0x7fff1d26d6cc
元素4:0x7fff1d26d6c0 + 16字節= 0x7 fff1d26d6d0
元素5:0x7fff1d26d6c0 + 20個字節= 0x7fff1d26d6d4
元素6:0x7fff1d26d6c0 + 24個字節= 0x7fff1d26d6d8
元素7:0x7fff1d26d6c0 + 28個字節= 0x7fff1d26d6dc
元素8:0x7fff1d26d6c0 + 32個字節= 0x7fff1d26d6e0
似乎工作[這裏](http://liveworkspace.org/code/3SVhNh$0)。我錯過了什麼嗎? – 2013-02-27 15:04:27
這個'&'你在哪裏提到? – juanchopanza 2013-02-27 15:04:56
你想看到一個int組成字節?或者你是否正在嘗試使用指針運算來查看向量中的值? – neagoegab 2013-02-27 15:14:35