解决multiple definition ofxxx

解决multiple definition ofxxx

遇到了一次multiple definition of xxx错误,最后发现问题是包含xxx函数的头文件yyy.h中完整地实现了该xxx函数。
而头文件起到的是预编译的作用。之前我的程序编译的时候之所以没有报错是因为只有zzz.h中包含了yyy.h,只有一个文件调用该头文件。
直到另一个文件调用该函数,又预编译了一次,导致了multiple definition的问题。 解决办法是只在头文件中声明函数,而在c文件中实现该函数。
分离完成之后,在makefile中要记得加上 xxxx.cc。

fstream

没有ofstream这个头文件。 只有包含 这个头文件。
在写C++的文件输入输出的时候,不能写#include<ofstream>

endl来自哪个库

endl来自于iostream.hh库,所以#include<iostream>
在编译C++程序的时候出现了一个bug

util-debug.hh:73:14: error: ‘cout’ is not a member of ‘std’
         std::cout << BOLDYELLOW << x << RESET << std::endl; \

这个bug看起来奇怪的地方在于明明这里写了std::endl,但是确报错说endl不是std的member。
后面发现,这个问题在于我是用宏写的:

#define FuncBegin()    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值