提问人:muratkavak 提问时间:12/2/2022 最后编辑:Remy Lebeaumuratkavak 更新时间:12/2/2022 访问量:90
创建自己的头文件时出现错误 [已关闭]
I get an error when I create my own header file [closed]
问:
我将在下面的同一文件夹下编写头文件和我创建的两个文件的代码。我在 Visual Studio、gcc-gnu 和 dev c++ 下尝试了这个。我在文件中收到以下错误:.cpp
employe.cpp
“.” 令牌之前的预期初始值设定项
employee.h
:
#ifndef employee
#define employee
#include <iostream>
using namespace std;
class employe{
public:
string name;
int id;
int salary;
void showInfos();
};
#endif
employe.cpp
:
#include "employee.h"
#include <iostream>
using namespace std;
void employe.showInfos(){
cout<<"Ad:"<<employe.name<<endl<<"Id:"<<employee.id<<endl<<"Salary:"<<employee.salary;
}
main.cpp
:
#include <iostream>
#include "employee.h"
#include <iostream>
int main(){
employe.id=21;
cout<<employe.id;
return 0;
}
main.cpp
错误:
expected unqualified-id before '.' token
expected primary-expression before '.' token
我的意思是创建我自己的头文件并使用它。但这发生了。
答:
1赞
Remy Lebeau
12/2/2022
#1
employe.cpp
失败是因为您错误地限定了所有内容。它需要看起来更像这样:
#include "employee.h"
#include <iostream>
using namespace std;
void employe::showInfos(){
cout << "Ad:" << name << endl << "Id:" << id << endl << "Salary:" << salary;
}
main.cpp
失败是因为您的结构成员都不是,因此您无法像尝试的那样在结构类型本身上访问它们中的任何一个。您需要声明一个对象实例,例如:static
employe
#include "employee.h"
int main(){
employe emp;
emp.name = "Joe";
emp.id = 21;
emp.salary = 12345;
emp.showInfos();
return 0;
}
评论
0赞
muratkavak
12/2/2022
它帮了大忙,谢谢,但现在它给出了这个错误:对“WinMain”的未定义引用,并且 ıd 返回了 1 个退出状态
0赞
Remy Lebeau
12/2/2022
@muratkavak对我来说效果很好:onlinegdb.com/REo4yCe3f 对于该特定错误,StackOverflow 上还有很多其他问题。这意味着您的项目配置不正确,因此您需要修复它。这与显示的代码无关。
0赞
muratkavak
12/2/2022
ım 使用 DevC++ 作为编译器。这可能是问题所在吗?作为编译器,您有什么建议?
0赞
463035818_is_not_an_ai
12/2/2022
@muratkavak 从新工具链开始的方法是编写一个“HelloWorld”,以确保您可以编译一些东西。
0赞
Remy Lebeau
12/2/2022
编译器不是问题所在。链接器是。它找不到项目的预期入口点的代码。这是因为该项目配置为Windows GUI项目(入口点),但显示的代码是为控制台项目(入口点)编写的。WinMain()
main()
评论
::
.
void employe.showInfos(){
->void employe::showInfos(){
name
employee.
using namespace std;
(或者,如果你能帮忙的话)。