对“Cat::Grizzly()”的未定义引用|[复制]

undefined reference to `Cat::Grizzly()'| [duplicate]

提问人:Nasir Jones 提问时间:7/20/2015 更新时间:7/20/2015 访问量:221

问:

所以我昨天才开始学习 C++,多亏了之前使用 Lua 的一些经验,我很快就掌握了。我一直在 http://courses.caveofprogramming.com/ 做一个初学者课程。我正在尝试创建一个类,但遇到了错误。值得一提的是,专家使用 Eclipse 作为他的 EDI,而我使用 CodeBlocks。这是我所拥有的。

main.cpp

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

 using namespace std;

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

     return 0;
 }

猫.cpp

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

using namespace std;

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

目录号

#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()'|
C++ Eclipse 代码块 undefined-reference

评论

0赞 molbdnilo 7/20/2015
像这样的比较在 Lua 中也不会有太大的成就。tommy.Grizzly() == true;

答:

0赞 TartanLlama 7/20/2015 #1

你得到一个错误,因为你还没有定义,你刚刚声明了它。undefined referenceCat::Grizzly

为函数添加定义:

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