我用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.
答案 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)