グローバルがありますint
何かの理由で別のファイルに変更したいのですが、動作しません。グローバル変数が機能しない
私が持っている:なぜ、とき
//test.h
#include <windows.h>
static int start1; //want to use this globally.
//declare
void something();
//test.cpp
#include "test.h"
extern int start1;
void something()
{
start1 = start1 + 1;
}
//main.cpp
#include "test.h"
#include "stdafx.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
start1 = 3;
something();
return 0;
}
something()
に入るのはです0、3の代わりに?私は何時間もグローバル変数を作成しようとしていますが、うまくいきません。誰か明確にすることはできますか?
しかし、test.hとmain.cppは同じ翻訳単位ではありません。 –
@TonyTheLion: 'test.h'は複数のソースファイルに含まれているので、複数の翻訳単位に影響します。 –