看看这个由于包含关系过于复杂而编译出错的问题吧
- C/C++ code
/////////////////////main.cpp////////////////int main(int argc, char **argv){ return 1;}- C/C++ code
/////////////////////base.h////////////////#pragma onceclass base{protected: base();};- C/C++ code
/////////////////////curve.h////////////////#pragma once#include "base.h"class curve : public base{protected: curve();};- C/C++ code
/////////////////////curveCollection.h////////////////#pragma once#include "base.h"class curveCollection : public base{protected: curveCollection();};- C/C++ code
/////////////////////curveCollection.cpp////////////////#include "curvecollection.h"#include "curve.h"curveCollection::curveCollection() // 此处报错 undefined reference to `base::base(){}[解决办法]
你没定义base的构造函数而已, 链接时找不到定义罢了.