c++ - C++中的多重定义错误

标签 c++

您好,当我尝试运行 C++ 代码时出现以下错误

主窗口.h

class MainWindow
{


  public:
     MainWindow();
    ~MainWindow();
     method();
};

主窗口.cpp

#include mainwindow.h
MainWindow::MainWindow(){
   //some code here

}

MainWindow::~MainWindow(){
  //some code here

}
MainWindow::method(){
  //some code here

}

当我从 eclipse cdt 编译它时,我收到错误提示 MainWindow::method() 的多重定义。 这是正确的方法还是我做错了什么。 任何人都可以帮我做什么吗?

最佳答案

似乎您在多个 cpp 中包含了您的 header ,并且它没有防止多个包含的保护措施,例如 pragma once

#ifndef MainWindow_h 
#define MainWindow_h
class MainWindow
{


  public:
     MainWindow();
    ~MainWindow();
     method();
};
#endif

关于c++ - C++中的多重定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174469/

相关文章:

C++ 通用 int 数组和 vector 迭代器

c++ - 模板错误: no appropriate default constructor available

c++ - C/C++ 静态 Voodoo

c++ - 以下代码的输出是什么?

c++ - 给定磁盘上的 1 TB 数据集,每个数据记录大约 1 KB,如何使用 512 MB RAM 和无限磁盘空间找到重复项?

c++ - 从三角形网格及其轮廓中提取锐边并使用 openGL 进行渲染

c++ - 非模板类方法的完美转发

c++ - 如何更改另一个程序图标?

c++ - 为什么 INT_FAST16_MAX 被定义为 INT32_MAX (VS 2015)?

c++ - "this"指针在堆栈跟踪中损坏