我想根据 main(); (具体是数组大小)的输入定义全局数组(在其他函数中使用)。 extern 关键字无效。
#include <iostream>
using namespace std;
void gen_sieve_primes(void);
int main() {
int MaxNum;
cin >> MaxNum;
int *primes = new int[MaxNum];
delete[] primes;
return 0;
}
//functions where variable MaxNum is used
答案 0 :(得分:5)
只需在全局范围内定义
int MaxNum;
int main(){
cin >> MaxNum;
}
答案 1 :(得分:2)
在主函数括号内声明数组。
#include <iostream>
using namespace std;
void gen_sieve_primes(void);
(Declare the variables here!)
int main() {
extern int MaxNum;
cin >> MaxNum;
int *primes = new int[MaxNum];
delete[] primes;
return 0;
}
//functions where variable MaxNum is used
答案 2 :(得分:2)
你在main之外声明它:
int maxNum;
int main() {
...
}
理想情况下,你根本不这样做。 Globals很少有用,而且几乎不需要(或者更确切地说:永远不需要)。