首页 > 解决方案 > 对函数 C++ 的未定义引用

问题描述

我刚开始用 C++ 编写代码,并试图弄清楚类和对象是如何工作的。我已经声明了一个类和对象,并尝试在该对象上调用函数,但我得到一个未定义的引用错误。这是我的代码

我在其中创建对象的主文件 (main.cpp)

#include "enemy.h"

int main()
{
    Enemy zombie;
    zombie.health = 10;
    zombie.takeDamage(2);
}

敌人类的头文件(enemy.h)

#ifndef CITY_H_INCLUDED
#define CITY_H_INCLUDED

class Enemy
{
public:
    int health;

    void takeDamage(int dmg);
};

#endif // CITY_H_INCLUDED

敌人类的 cpp 文件 (enemy.cpp)

#include "enemy.h"

void Enemy::takeDamage(int dmg)
{
    damage -= dmg;
}

当我运行它时,我得到一个错误在线

zombie.takeDamage(2);

它说:对 Enemy::takeDamage(int) 的无定义引用我到处检查过,但我不知道我的代码有什么问题。

标签: c++undefined-reference

解决方案


推荐阅读