問題:我已經挖掘了一個類,然後在我的主函數中使用,它會拋出未定義的錯誤。然後我添加了.h文件,並引發了另一個錯誤。我的問題是要根據.cpp類文件編寫.h。下面是詳細介紹:C++頭文件和類定義問題
我有這個類ElevatorButton.cpp declated:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class ElevatorButton
{
public:
int pressed = 0; // boolean
void myFunc(int param1)
{
cout << param1 << endl;
}
};
然後我在ElevatorSimulation.cpp本文件:
#include "stdafx.h"
#include <iostream>
#include <string>
#include "Header.h"
using namespace std;
int main()
{
ElevatorButton ElvBtn;
cout << ElvBtn.myFunc(1) << endl;
}
編譯代碼經常會拋出錯誤。我應該像看起來一樣聲明頭文件。但在我的頭文件中,我應該如何管理定義?我已閱讀有關.h文件,但仍困惑。這裏是我的header.cpp:
#ifndef ElevatorButton_H
#define ElevatorButton_H
class ElevatorButton
{
public:
int pressed = 0; // boolean
public:
void myFunc(int param1){};
};
#endif
但將與Header.h以下錯誤:
1>ElevatorSimulation.cpp(14): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'void' (or there is no acceptable conversion)
有時只需閱讀錯誤消息(包括它的榮譽)就足夠了。 ...不太正確,往往不是。 – Deduplicator
'header.cpp'聽起來很不對勁:P ... –