我有一些問題/誤解與C++數組。C++「動態」陣列
int myArray[30];
myArray[1]=2;
myArray[2]=4;
這是吐出了很多編譯器錯誤。我不認爲有必要將它們包括在內,因爲這對於每個有C(++)經驗的人來說都是一個簡單的問題。我想
- 爲什麼不能正常工作?
- 有沒有一種方法來創建一個「動態」的陣列上固定的值ammount的(所以沒有需要的malloc),但其中在運行時我可以改變的值?
我有一些問題/誤解與C++數組。C++「動態」陣列
int myArray[30];
myArray[1]=2;
myArray[2]=4;
這是吐出了很多編譯器錯誤。我不認爲有必要將它們包括在內,因爲這對於每個有C(++)經驗的人來說都是一個簡單的問題。我想
我猜你有一個函數的那個之外。
你能定義一個函數外部變量。你甚至可以在函數之外調用任意代碼,只要它是變量定義的一部分。
// legal outside of a function
int myArray[30];
int x = arbitrary_code();
void foo()
{
}
但是你不能在函數外部有任意的語句或表達式。
// ILLEGAL outside a function
myArray[1] = 5;
void foo()
{
// But legal inside a function
myArray[2] = 10;
}
哦,花哨的褲子去爲千里眼徽章。 :) – GManNickG 2010-02-11 23:42:54
@GMan - 你讀了我的腦海:-) – 2010-02-11 23:51:47
你是說,這並不編譯:
int main() {
int myArray[30];
myArray[1]=2;
myArray[2]=4;
}
如果沒有,你有你的編譯器的設置是錯誤的。正如我在評論中所說的,我們需要看到錯誤消息。
原來你需要看到其他的源代碼。 – 2010-02-12 00:51:22
你想錯了 - 我們總是需要查看錯誤信息! – 2010-02-11 23:40:41
這應該工作得很好(在正確的上下文中)。什麼是錯誤? – 2010-02-11 23:41:00
當你問一個關於產生編譯器錯誤的代碼的問題時,它總是**是一個好主意,包括編譯器錯誤,儘管這可能是一件容易的事。如果不是爲了澄清問題,那麼爲了幫助其他人試圖在以後找到問題的答案。除了在編程時只顯示小代碼片段,很可能錯誤不在顯示的代碼中。 – 2010-02-11 23:41:52