我现在正在学习头文件和类,我似乎无法让它们工作。我不明白我做错了什么。我把错误作为注释包含在编译器说有错误的地方。我该如何解决这个问题?
的main.cpp
#include <iostream>
#include <conio.h>
#include "Header.h" //Error: In file included from C:\Users\Brandon\Desktop\
C++ Practice\Header Practice\Main.cpp
int main()
{
Header Test;
Test.Header(); Error: invalid use of `class Header'
getch();
return 0;
}
Header.h
#ifndef Header_H_
#define Header_H_
class Header
{
public:
void Header(); //Error: return type specification for constructor invalid
};
#endif // Header_H_
和Header.cpp。
#include "Header.h"
Header::Header()
{
std::cout << "Everything is working./n" << std::flush;
};
答案 0 :(得分:0)
从void
行移除void Header();
。声明构造函数没有返回类型。
答案 1 :(得分:0)
从void
void Header();
移除Header.h
在Header.cpp
中,删除分号:
#include "Header.h"
Header::Header()
{
std::cout << "Everything is working./n" << std::flush;
}; <------ REMOVE SEMICOLON
main.cpp
中的 - 您通过执行此操作Test.Header()
来调用构造函数错误。
您应该执行Header Test;
或Header *Test = new Header()