...是我想要做的。我有以下代碼:根據運行時間創建一個類型的數組
...
int len = 0;
char c;
bool fp = false;
while (infile.good()) {
c = infile.get();
if (c == '\n') ++len;
else if (c == '.') fp = true;
}
if (fp == true){
float Ai[N];
float *Ao = new float [len];
} else {
int Ai[N];
int *Ao = new int [len];
}
for (int i=0; i<L; ++i){
for (int j=0; j<N; ++j) infile >> Ai[j];
Ao[i] = findmax(Ai);
}
...
它應該做的陣列進行雙打,如果該文件中檢測到小數點或者,如果沒有,出整數。
我沒有檢查第一循環還沒有,因爲我沒有得到它來編譯:
warning: unused variable ‘Ai’
warning: unused variable ‘Ao’
warning: unused variable ‘Ai’
warning: unused variable ‘Ao’
error: ‘Ai’ was not declared in this scope
error: ‘Ao’ was not declared in this scope
我想我有如何處理這個任務,不只是一個簡單的錯誤的一個基本問題。
那麼,什麼是錯誤的,以及如何從一開始就修正/使它變得正確?
一旦if塊完成,Ai和Ao就會超出範圍 – slartibartfast
只與您的問題略有相關:像您這樣的輸入循環通常會有錯誤。嘗試'while(infile.get(c)){...}'一次讀取一個字符的輸入。 –