我有main函数和一个类,我正在尝试使用main另一个类中的int。
main.cpp
#include <iostream>
#include "main.hpp"
using namespace std;
int main()
{
cout << MainInt::x << endl;
return 0;
}
main.hpp
class MainInt
{
public:
MainInt();
int x;
};
MainInt::MainInt()
{
x = 1;
}
我目前的操作方式不正确。我觉得cout << MainInt::x << endl;
只是在调用变量x。
当前我得到
error: invalid use of non-static data member 'x'
我需要调用 x ,这是 MainInt 中的非静态变量,这样我就可以在控制台。 我该怎么做?
答案 0 :(得分:1)
x
都是静态变量(也称为全局变量),在这种情况下,应为:
class MainInt
{
public:
MainInt();
static int x;
};
// in cpp:
int MainInt::x = 1;
或它是一个传统变量,就像在构造函数中那样。在这种情况下,您需要实例化一个对象:
MainInt variable;
cout << variable.x << endl;
答案 1 :(得分:1)
使用Matthieu Brucher's解决方案,我执行了以下操作
main.cpp
#include <iostream>
#include "main.hpp"
using namespace std;
int main()
{
MainInt x;
cout << x.x << endl;
return 0;
}