我正在为arduino编写库以与特定硬件进行通信。我有4个文件(main.cpp DCB.cpp,DCB.h,ubus_cmd.h)。在DCB.cpp中我包含头文件(#include "DCB.h"
),在DCB.h中我定义它(#ifndef DCB_H #define DCB_H
)。在主文件(main.cpp)中,我包含了库(#include "DCB.h"
)。但我仍然在DCB.cpp文件的构造函数中得到多个定义的错误。错误是说("这里的第一个定义"," DCB的多重定义:: DCB()")
答案 0 :(得分:1)
嗯,标题说明了一切。您不允许两次定义单个函数,除非它inline
。显然,你的构造函数有两个定义。
关于标题包含的内容确实有助于防止意外的双重定义,但它们还不够。