小编Adr*_*ian的帖子

静态变量cpp不想改变

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;
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

5
5
20
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗?为什么变量'a'不想改变FileA.cpp中的函数.如何解决这个问题.当我在"FileA.hpp"中内联更改(int x)时,它工作正常.

c++ static-variables

2
推荐指数
1
解决办法
4227
查看次数

标签 统计

c++ ×1

static-variables ×1