我在尝试使用另一个类中声明的变量时遇到问题。我无法弄清楚问题出在哪里。有人可以帮忙吗?
这是我的头文件:
#include <string>
#include <iostream>
#include "HELO.h"
using namespace std;
#ifndef SMTPSERVER_H_INCLUDED
#define SMTPSERVER_H_INCLUDED
class SMTPServer
{
private: bool newMessage;
private: bool newRec;
private: bool newSender;
private: bool newData;
public: SMTPServer();
void send(HELO h1);
void OriginalState();
};
#endif // SMTPSERVER_H_INCLUDED
以下是我的cpp类。当我构建程序时,它显示错误:无法解析符号'newData'。
#include "SMTPServer.h"
#include "HELO.h"
SMTPServer::SMTPServer()
{
newMessage = NULL;
newRec = NULL;
newSender = NULL;
newData = NULL;
}
void send(HELO h1)
{
}
void OriginalState()
{
newMessage = false;
newRec = false;
newSender = false;
newData = false;
}
答案 0 :(得分:1)
您需要使用范围解析运算符::
来进行函数定义:
void SMTPServer::OriginalState()
{
newMessage = false;
newRec = false;
newSender = false;
newData = false;
}
答案 1 :(得分:1)
您应该在.cpp文件中告诉这些方法属于SMTPServer类。即:
void SMTPServer::send(HELO h1)
{
}
void SMTPServer::OriginalState()
{
newMessage = false;
newRec = false;
newSender = false;
newData = false;
}
答案 2 :(得分:0)
在send
和OriginalState
的实现中,您没有使用范围解析运算符来表示这些是成员函数实现;按原样,编译器将这些作为自由函数。
答案 3 :(得分:0)
您忘了将SMTPServer::
内容放在最后两个函数定义