ヘッダファイルのつながりあいがよくわかりません。
まず、コードを示します。4つのファイルがあります。
c
1// main.cpp 2#include <stdio.h> 3#include "main.h" 4 5int global_i; 6 7int main() 8{ 9 printf("global_i = %d", global_i); 10 return 0; 11}
c
1// main.h 2#ifndef MAIN_H 3#define MAIN_H 4#endif
c
1// test.cpp 2#include "main.h"
c
1// test.h 2#ifndef TEST_H 3#define TEST_H 4 5global_i = 10; 6 7#endif
そして、実行結果です。
$ g++ main.cpp test.cpp $ ./a.out global_i = 0
test.hからglobal_iを参照できるのはなぜか。
実行結果が、global_i = 10ではなく、global_i = 0なのはなぜか。
ご存じの方がおりましたら、教えて頂けると幸いです。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/28 05:11