error: redefinition of class Coordinate class XXX 解決辦法

軟件

  • 編輯器:CLion

問題描述

今天學習C++按照老師課程所講內容操作,在我本地拋出如下提示:

In file included from f:\code\c++\header\line.h:1:0,
                 from F:\Code\c++\main.cpp:5:
f:\code\c++\header\Coordinate.h:3:7: error: redefinition of 'class Coordinate'
 class Coordinate {
       ^~~~~~~~~~

原因

在該類定義的頭文件(.h)中沒有使用 #ifndef,#define 和 #endif 來進行保護,也就是缺少了防止類被多次包含的宏

  • 我使用IDE編輯器(CLion),新建頭文件,會在頭文件中加入如下代碼:
#ifndef C_TEST_H
#define C_TEST_H

#endif //C_TEST_H
  • 我看到老師編輯器中沒有內容,以爲不重要就刪除了,結果然我意想不到…

解決辦法

將你頭文件中的代碼放到如下位置:

#ifndef C_TEST_H
#define C_TEST_H

# 這裏放你寫的代碼

#endif //C_TEST_H

注意:如果你的頭文件名稱爲Test.h , #ifndef 、#define 後面的代碼爲 C_TEST_H
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章