C ++ .cpp文件没有看到来自.h的变量

时间:2015-04-26 10:38:35

标签: c++

我用c ++编写程序。首先我正常写它(通常我不用c ++编写),我想把变量放在头文件和代码中.cpp文件中。问题是.cpp中的类看不到变量 - "标识符未定义"。

A.H

#include <iostream>
#include <string>
#include <cmath>
#include <vector>

using namespace std;

class Hex {

private:
    int n;
    string value;
    bool negative = false;

public:
     Hex();
     bool isCorrect();
     string getValue();
     void setValue();
};

a.cpp

#include "a.h"
#include "stdafx.h"     

class Hex {

    public:
      Hex(int n, string w) { //some implementation }

//rest class
}

我做错了什么?如果重要的是我正在使用VS 2013.

2 个答案:

答案 0 :(得分:8)

您将两次定义您的类,一次在头文件中,一次在.cpp文件中。 假设您只想在头文件中声明函数并在.cpp文件中定义它们,这是要走的路: 头:

EnumDisplayMonitors

.cpp文件:

#include <iostream>
#include <string>
#include <cmath>
#include <vector>

using namespace std;

class Hex {

private:
    int n;
    string value;
    bool negative;

public:
     Hex(int n, string w);
     bool isCorrect();
     string getValue();
     void setValue();
};

答案 1 :(得分:4)

在标题中,您将其声明为>> car_list [{'color': 'red', 'price': None},{'color': 'blue', 'price': None},{'color': 'orange', 'price': None},{'color': 'green', 'price': None}] ,但在.cpp中,您将其声明为Hex();

另外,为什么不像这样Hex(int n, string w)

来定义它