FileA.hpp:
static int a;
void change(int);
FileA.cpp
#include "FileA.hpp"
void change(int x) { a = x; }
main.cpp
#include "FileA.hpp"
#include <cstdlib>
#include <iostream>
int main()
{
a = 5;
std::cout<<a<<std::endl;
change(10);
std::cout<<a<<std::endl;
a = 20;
std::cout<<a<<std::endl;
system("Pause");
return 0;
}
私の出力は次のとおりです。
5
5
20
誰かがこれで私を助けることができますか? FileA.cpp にある関数で変数 'a' を変更したくないのはなぜですか。これを修正する方法。「FileA.hpp」で change(int x) インラインを作成すると、正常に動作します。