2012-04-12 28 views
0

我想通過使用多維數組編寫一個複雜的tic tac腳趾遊戲。這是一塊的代碼的應該打印:非常簡單的多維數組程序打開Visual Studio JIT?

g | g | g 
---------- 
g | g | g 
---------- 
g | g | g 

其中G是從克多維數組[1] [1]至G [3] [3]其中,g [3] [3]是一個串。程序波紋管應從上面的板上打印第一行

#include <iostream> 
#include <string> 
using namespace std; 

int main() { 
    string g[3][3]; 
    g[1][1] = " "; 
    g[2][1] = " "; 
    g[3][1] = " "; 
    g[1][2] = " "; 
    g[2][2] = " "; 
    g[3][2] = " "; 
    g[1][3] = " "; 
    g[2][3] = " "; 
    g[3][3] = " "; 
    cout << " " << g[1][1] << " " << "|" << " " << g[2][1] << " " << "|" << " " << g[3][1]; 
    cout << "----------------"; 
} 

在控制檯上方運行此程序時,打開「TESTIFICATE.exe」[2812]中的未處理的win32異常。我得到一個窗口,我應該選擇一個調試器。當選擇一個編譯器時,Visual Studio 2010打開,我在前面看到一些奇怪的頭文件。

請注意,上面的程序是主程序的一部分,它在我添加了一段代碼之後纔開始工作,從中我得到了未處理的win32異常消息。這在我之前從未在一個程序中發生過,而且由於該程序相對簡單,所以不會發生這種情況。

其他細節:

  • 操作系統:Windows XP專業版SP3;
  • 我有Visual Studio 2010安裝(不是快速版)
  • 我使用Codeblocks IDE;
  • 編譯後,我在IDE中沒有任何警告或錯誤。

如果有任何進一步的細節需要發表評論,我會張貼它們。

+1

你的指數是錯誤的C++是'0'基於你應該定義g索引[0] [0]至G [2] [2]。 – twain249 2012-04-12 17:46:32

回答

3

數組索引從0開始,所以g[3][3]是無效的存儲器訪問。

1

你有錯誤的錯誤。

g[1][1]應該是g[0][0]g[2][2]g[1][1]