c++ 创建自己的头文件时出错[已关闭]

qni6mghb  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(203)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我将把头文件的代码和我在下面同一个文件夹下创建的两个.cpp文件写在一起。我在Visual Studio、gcc-gnu和dev c++下试过了。我在文件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

我本想创建自己的头文件并使用它,但发生了这种情况。

mnemlml8

mnemlml81#

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

Online Demo

相关问题