我在c编写了程序.首先我正常写它(通常我不写c)我想把变量放在头文件和代码中.cpp文件中.问题是.cpp中的类看不到变量 – “标识符未定义”.
啊
#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.
解决方法
您将两次定义您的类,一次在头文件中,一次在.cpp文件中.
假设您只想在头文件中声明函数并在.cpp文件中定义它们,这是要走的路:
标题:
假设您只想在头文件中声明函数并在.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(); };
.cpp文件:
#include "a.h" #include "stdafx.h" Hex::Hex(int n,string w) : negative(false) { /*some implementation*/ } //rest class and definitions of bool isCorrect(); string getValue(); void setValue();