0

我现在正在学习头文件和类,我似乎无法让它们工作。我看不出我做错了什么。我已将错误作为注释包含在编译器说有错误的地方。我该如何解决?

主文件

#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;
}

头文件.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;
};
4

2 回答 2

0

voidvoid Header();行中删除。构造函数声明时没有返回类型。

于 2013-11-10T17:32:46.513 回答
0

voidvoid 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()

于 2013-11-10T17:37:35.763 回答