对“Cat::Grizzly()”的未定义引用|

undefined reference to `Cat::Grizzly()'|

所以我昨天才开始真正地学习 C++,多亏了之前使用 Lua 的一些经验,我很快就掌握了。我一直在 http://courses.caveofprogramming.com/ 开设初学者课程。我试图创建一个 class 但 运行 到 error.It 可能也值得一提的是专家使用 Eclipse 作为他的 EDI,而我使用 CodeBlocks。这是我的。

main.cpp

 #include <iostream>
 #include "Cat.h"

 using namespace std;

 int main()
 {
     Cat tommy;
     tommy.Grizzly() == true;
     tommy.Bark();

     return 0;
 }

Cat.cpp

#include "Cat.h"
#include <iostream>

using namespace std;

void Cat::Bark()
{
    if (Grizzly())
    {
        cout << "RUFF!!!!!!" << endl;
    }
    else
    {
        cout << ":)" << endl;
    }
}

Cat.h

#ifndef CAT_H
#define CAT_H


class Cat
{
public :
    bool Grizzly();
    void Bark();
};

#endif // CAT_H

这里是错误

C:\Users\Nas\Desktop\Coding Projects\Class Members 4\main.cpp|9|undefined reference to `Cat::Grizzly()'|

您收到 undefined reference 错误,因为您尚未定义 Cat::Grizzly,您刚刚声明了它。

为函数添加定义:

bool Cat::Grizzly() {
    //implementation
}