无法从main引用.cpp和.h文件中的函数。C ++

尼克兰德雷斯

我试图第一次将引用,函数和主要函数分离到.h和2 .cpp文件中,并且无法获取我的object.h文件中引用的和我的object.cpp文件中定义的功能在我的文件中工作main.cpp。

我正在使用代码块创建一个项目,创建一个控制台应用程序,在该项目中创建一个类,包括在同一文件夹中创建的.h和.cpp文件。然后,我将#include和名称空间复制到#include“ object.h”下的cpp文件中。然后,我定义一个简单的函数来引用.cpp复制中的字符串,然后将引用粘贴到.h中。然后,我回到main并为该函数创建一个对象。然后我用新创建的对象调用该函数。至此,我的代码将不再编译。

//这是main.cpp

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

using namespace std;

int main()
{
  object thing;

  thing.printObject();
  return 0;
}

//这是object.cpp

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

using namespace std;

  void printObject(){

  cout << "You rock!" << endl;

}

//这是object.h

#ifndef OBJECT_H
#define OBJECT_H

class object
{
public:
  void printObject();
};

#endif 

这是我在构建过程中得到的输出:

obj\Debug\main.o||In function `main':|
D:\c ++\Object test\main.cpp|11|undefined reference to 
`object::printObject()'|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) 
===|

我希望控制台会显示“ You rock!”。

格里特

在cpp文件中,您应该有

void object::printObject() {

否则,您将定义全局函数,而不是对象方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Main.cpp无法访问头文件和其他.cpp文件中的变量和函数

在子文件夹中编译.h和.cpp时的C ++未定义引用

C ++使用cpp中的头文件中的引用函数?

.h和.cpp文件中的向量定义

设计.h和.cpp文件C ++:错误

CMake教程引用.cpp和.h文件。在哪里可以找到这些?

如何为带有.h文件的几个.cpp文件和不带有.h的main.cpp创建一个makefile

.h 和 .cpp 中的单独声明和定义但非类函数?

main.cpp和window.cpp中都不能包含奇怪的头文件(一个类)

.cpp和.h中的函数方法定义

在main.cpp中从单独的C ++文件调用函数时遇到麻烦

包括.cpp文件和.h文件(在cpp中具有相同内容)的区别?

函数无法在C ++中读取和打印文件内容

指针数组和函数 CPP

在C ++模块化编程中,如何组装.cpp和.h文件?

真的需要将.h和.cpp文件中的c ++结构分开吗?

什么是c ++中的成员函数?它包含主体吗?是在.h还是.cpp文件中定义的?

从 .c 文件调用 .cpp 文件中的函数

我无法将头文件嵌入 Main.cpp

VS代码:无法在头文件和相关cpp文件之间跳转

想要获得由perl在c,cpp或.h的多个文件中定义的函数名称

Windows CMD:“ dir * .cpp”通配符匹配“ main.cpp_”和“ main.cpp2”

无法编译x86_64 .s和.c文件:函数的未定义引用

.hpp和.cpp文件中的常量数组

如何使用命令行在C ++中编译和链接分隔的.h和.cpp文件?

VS代码-在目录中的所有仅c ++(.cpp)和标头(.h)文件中搜索文本

使用regex和'find'命令查找* .cpp,*。hpp,*。c和* h文件

cpp项目中.fdf和.h文件之间的区别

.cpp和.h文件的不同处理方式?