c++ - 对 `Cat::Grizzly()' 的 undefined reference |

标签 c++ eclipse class codeblocks undefined-reference

<分区>

所以我昨天才开始真正地学习 C++,并且由于之前使用 Lua 的一些经验,我很快就掌握了。我一直在 http://courses.caveofprogramming.com/ 开设初学者类(class)。 .我试图创建一个类,但遇到了错误。可能还值得一提的是,专家使用 Eclipse 作为他的 EDI,而我使用 CodeBlocks。这是我的。

主要.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;
    }
}

目录.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
}

关于c++ - 对 `Cat::Grizzly()' 的 undefined reference |,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512680/

相关文章:

当没有参数给出错误时,Python类自变量作为默认值

java - 在同一个类中同时使用继承和组合?

java - Google Cloud Tools for Eclipse GcsFilename 的 ClassNotFoundException

c++ - 如何将一个文件复制到另一个文件中,但用用户输入的词替换一个词?

c++, FFMPEG, H264, 创建零延迟流

c++ - 在 Qt HTML5 应用程序中使用 QtWidgets

java - java如何处理键盘上 "enter"键的输入

java - 为什么我的简单 Struts2 示例不起作用?

c++ - 可以在 C++ 中调用缺少模板参数的模板函数吗?

c++ - 如何在 doxygen 中隐藏特定函数(在 C++ 中)?