尝试调用 .h 文件中定义的变量时出现变量未定义错误

Variable not defined error, when trying to call a variable defined in a .h file

已将我的所有文件链接到“Pusi.h”

在这里声明变量“Pusi.h”

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

int strength = 0;
int  dexterity = 0;
int  money = 0;
int smarts = 0;
int magic = 0;
int health = 0;
int Belligerent = 0;
std::string  Politics;

strength -= 2;
money += 2;
smarts += 1;
this->Hide();
Pusi_intro^ good = gcnew Pusi_intro(this);
good->ShowDialog();
}
};

试图增加变量 int dexterity、int money = 0、int smarts 的值,“Pusi_intro1.h” 通过

dexterity += 1;

money += 1;

smarts += 1;

那没用。

错误说灵巧、金钱、智慧未被清除

所以我尝试了

Pusi_intro(int money) {
            
            InitializeComponent();
        }
        int& m = money;
        Pusi_intro(int dexeterity) {
            
            InitializeComponent();
        }
        int& d = dexeterity;
        Pusi_intro(int smarts) {
            
            InitializeComponent();
        }
        int& sm = smarts;

那没有用得到同样的错误和一个告诉我 reference wasn't declared

的新错误

我又想到了可能错误是因为我声明的行

所以我试过了

public:

int& sm;


int& d;


int& m;

Pusi_intro(int smarts)

 {

sm = smarts
InitializeComponent();


}

Pusi_intro(int dexterity) {
d = dexterity;
InitializeComponent();
}
Pusi_intro(int money) {
m = money;
InitializeComponent();
}

然后我尝试再次添加到变量中,但我遇到了与之前相同的错误,我的想法很新鲜,编程新手,因此非常需要和欢迎解释和帮助。谢谢。

在您的头文件中,您只想定义原型而不是整个函数。 然后在你想要做的 cpp 文件中:

#include .../all other libraries go here
#include "header.h"/Your header file
class_name::prototype{
//do stuff
}

然后你想像这样创建一个测试文件:

int main(){
    classname variablename;
    classname.methodname();
    return 0;
}