1

我有三个文件:Main.cpp、Security.h 和 Security.cpp。

  • 我已经在我的头文件中声明了我的类 Security(包括一个函数)。

  • 我在 Security.cpp 中定义了函数。

  • 我的头文件已包含在 Main.cpp 和 Security.cpp 中。

  • 在 Main.cpp 中,我正在创建一个对象,并尝试运行成员函数并不断收到编译错误。

主文件

#include<iostream>
#include "Security.h"
using namespace std;

int main()
{
  Security S1;
  S1.Driver();
}

安全性.h

class Security
{private:

 public:
 void Driver();
};

安全.cpp

#include<iostream>
#include<fstream>
#include "Security.h"
using namespace std;

void Securtiy::Driver()
{
  cout << "Enter a number: ";
  int answer;
  cin >> answer;

  cout << answer;
}
4

2 回答 2

2

Securtiy是您的 Security.cpp 文件中的拼写错误。

于 2013-09-21T21:39:49.493 回答
2

您应该编译这两个文件,因为 Security::Driver 的定义在 Security.cpp 中。

最简单的方法是调用单个命令:

g++ Main.cpp Security.cpp

但是,如果要单独编译文件,则必须使用-c标志将它们编译成中间('object')格式:

g++ -c Main.cpp
g++ -c Security.cpp

这将为您提供两个目标文件。现在链接它们:

g++ Main.o Security.o
于 2013-09-21T21:41:51.643 回答