例如函數聲明:Visual Studio中沒有看到在某些情況下
void main(){
foo1();
}
fooTarget();
foo1(foo2(););
foo2(foo3(););
foo3(foo4(););
foo4(foo5(););
foo5(
foo6();
fooTarget(); //Identifier not found
);
foo6(
fooTarget(); //It Works!
);
是什麼呢? 如果我粘貼fooTarget()來foo5(代碼),它也能工作
一個從實際代碼減少測試用例:
#include <cstring>
int main() {
char word[] = "hey";
int wordSize = getWordLenght(word); // error: getWordLenght not declared
}
int getWordLenght(char *word){
return strlen(word);
}
我很驚訝,'foo5(foo6(); fooTarget(););'編譯的。我完全不知道這意味着什麼。當我嘗試編譯上面的代碼時,出現了很多錯誤。重新安排它,以便在'main'中使用前的聲明消除了一些,但仍然留下很多關於'語法錯誤,缺少「)」「之前」;「'。 –
我也很驚訝,我可以提供代碼,我有這個麻煩 – mishkapp
我認爲一些真實的代碼,顯示(只)有關你的錯誤將是非常有用的。你在上面發佈了很多錯誤,很難猜測你關心的是什麼。 –