4

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
4

3 に答える 3

5

グローバルスコープで定義するだけです

int MaxNum;
int main(){
    cin >> MaxNum;
}
于 2012-11-27T16:48:02.020 に答える
2

main関数の括弧の外側で配列を宣言します。

#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
于 2012-11-27T16:48:24.987 に答える
2

メインの外で宣言します:

int maxNum;
int main() {
...
}

理想的には、これをまったく行わないでください。グローバルが役立つことはめったになく、ほとんど(というより:決して)必要ありません。

于 2012-11-27T16:48:29.593 に答える