我一直坚持这一点,我的老师甚至不知道发生了什么。如果有人能帮助我,我将不胜感激。
我在Line结构的头文件中声明了item。但是当在Line :: display()方法中调用它时,我得到一个错误,指出该变量未在范围中声明。我向老师和同事们展示过,似乎没有人知道解决方案。
这是我的.h:
//Line.h
#define MAX_CHARS 40
struct Line {
public:
bool set(int n, const char* str);
void display() const;
private:
char item[MAX_CHARS];
int no;
};
这是我的.cpp文件。
// Line.cpp
#include "Line.h"
#include <iostream>
using namespace std;
#define MAX_CHARS 40
void Line::display() const {
cout << no << ' ' << item << endl;
}
对此有任何帮助都很棒。提前谢谢。
答案 0 :(得分:5)
如果这是您的实际代码,您可能会从其他地方获取标头。尝试:
#include "C:\\fullPathToHeader\\Line.h"
#include <iostream>
using namespace std;
void Line::display() const {
cout << no << ' ' << item << endl;
}
此外:
MAX_CHARS
文件中重新定义cpp
。答案 1 :(得分:-5)
使Line :: display const意味着您不需要实例变量数据。
// Line.cpp
#include "Line.h"
#include <iostream>
using namespace std;
void Line::display()
{
cout << no << ' ' << Line::item << endl;
}