int main(int argc, const char * argv[]) {
int N,M;
std::cin >> N;
std::cin >> M;
bool member[N];
for (int i= 0; i < N ; i++) {
member[i] = false;
}
int test[M][N];
int testSize[M];
/*//std::fill_n(testSize, M, 0);
for (int i = 0; i < M; i++) {
std::fill_n(test[M], N, -1);
}*/
for (int i = 0; i < M; i++) {
for (int j = 0; j < N ; j++) {
test[i][j] = -1;
}
testSize[i] = 0;
}
}
這是我上面的C++代碼,那是簡單的代碼,不是嗎?C++:基本循環的EXC_BAD_ACCESS
但是當程序的M爲100000,N爲1000時,在第二個for循環中有EXC_BAD_ACCESS。
我不知道它爲什麼會發生。
如果放入較小尺寸的數據,則不會發生錯誤,但是這種情況使其成爲錯誤。
我正在解決一個算法問題,並面對未知的錯誤。
有什麼要解決我的計劃嗎?當你看到我的代碼時,我想要的是將數組test和testSize初始化爲相同的值; -1和0.
這是無效的C++:你正在使用可變長度的數組。請啓用您的編譯器警告和'-pedantic'。 – emlai
@zenith你究竟是什麼意思?我不明白你說什麼,我不認爲這是核心問題... – LKM
http://stackoverflow.com/q/1887097/3425536 – emlai