我有三个文件:Main.cpp,Security.h和Security.cpp。
我在头文件中声明了我的类Security(包括一个函数)。
我在Security.cpp中定义了该函数。
我的头文件已包含在Main.cpp和Security.cpp中。
在Main.cpp中,我正在创建一个对象,并尝试运行成员函数并不断收到编译错误。
Main.cpp的
#include<iostream>
#include "Security.h"
using namespace std;
int main()
{
Security S1;
S1.Driver();
}
Security.h
class Security
{private:
public:
void Driver();
};
Security.cpp
#include<iostream>
#include<fstream>
#include "Security.h"
using namespace std;
void Securtiy::Driver()
{
cout << "Enter a number: ";
int answer;
cin >> answer;
cout << answer;
}
答案 0 :(得分:2)
Securtiy
是Security.cpp文件中的拼写错误。
答案 1 :(得分:2)
你应该编译这两个文件,因为Security :: Driver的定义是在Security.cpp。
最简单的方法是调用单个命令:
g++ Main.cpp Security.cpp
但是,如果要单独编译文件,则必须使用-c
标志将它们编译为中间('对象')格式:
g++ -c Main.cpp
g++ -c Security.cpp
这将为您提供两个目标文件。现在链接他们:
g++ Main.o Security.o