【问题标题】:How to declare a function in a class in another file如何在另一个文件的类中声明一个函数
【发布时间】:2018-04-09 08:16:09
【问题描述】:

我想使用一个类的函数。

但是 class Gameplay 是在另一个文件中定义的。

我试图这样声明它。

class Gameplay;
bool Gameplay::UpdateBF(MPlayer *p);

第一行没问题。但是第二行有一个问题,比如

declaration of 'bool Gameplay::UpdateBF(MPlayer*)' outside of class is not definition [-fpermissive]

我需要这两个文件中的类和函数。

我该怎么办?

【问题讨论】:

  • 包含其他类的标题。
  • 您的源文件是什么样的?你能更具体一点吗?您是否尝试将声明和定义分开?使用头文件?
  • 看看the book list

标签: c++ class oop declare


【解决方案1】:

成员函数必须在类定义中声明。要在多个源文件中声明成员函数,必须在每个文件中定义类。每个文件中的定义必须完全相同。

约定的解决方案是将类定义放在单独的文件中,并从依赖于类定义的其他文件中包含(使用#include 指令)该文件。此类包含的文件称为标头。包含保护需要与此类标头一起使用,以防止在单个翻译单元中定义多个类。

【讨论】:

    【解决方案2】:

    您需要包含头文件,该文件包含您要使用函数的类 像 #include "your_file_name.h" 确保文件的扩展名是 .h 使头文件用户成为这个

    #ifndef _YourHeader
    #define _YourHeader
      //code
    #endif
    

    【讨论】:

    • _YourHeader 是保留标识符。不要将其用作头部保护。
    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 2012-10-28
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多