我在使用C++編寫代碼時遇到了問題。我在主函數之外使用了int argc,char *argv[]
,它告訴我他們沒有被定義。
我試圖使用extern
但它沒有幫助。 任何人都可以請幫助我嗎?謝謝!如何在C++的主函數之外使用int argc,char * argv []?
extern int __argc;
extern char **__argv;
我在使用C++編寫代碼時遇到了問題。我在主函數之外使用了int argc,char *argv[]
,它告訴我他們沒有被定義。
我試圖使用extern
但它沒有幫助。 任何人都可以請幫助我嗎?謝謝!如何在C++的主函數之外使用int argc,char * argv []?
extern int __argc;
extern char **__argv;
嘗試要麼設置一個全局變量,或傳遞的argc
和argv
值到您的函數。
方法1:
int argc;
char **argv;
void some_other_function() {
std::cout << argv[0] << "\n";
}
int main(int ac, char **av) {
argc = ac;
argv = av;
some_other_function();
}
方法2:
void some_other_function(int argc, char **argv) {
std::cout << argv[0] << "\n";
}
int main(int ac, char **av) {
some_other_function(argc, argv);
}
@taocp WTH是你肆意破壞這個答案嗎? – 2013-05-21 18:52:35
@ H2CO3對不起,我不明白你的意思。我在編輯時是否可能,答案也正在更新?我並沒有打算讓事情變得更糟。 – taocp
@taocp - 現在都很好。你和我正在同時編輯。我*想*我拿起你的改變 - 突出顯示變量名稱,對吧? –
你有什麼目標? – Subhajit
您可以將它們傳遞給函數。 –
爲什麼downvoting這個問題沒有任何評論?網上有很多例子顯示__argc/__ argv的用法,它根本不是一個標準。因此,詢問該主題是正常的,問題是清楚的。 – Klaus