第一次C++实验 编程日志
一.位运算类
遇到的问题:
1.undefined reference to ...,bit_operation.cpp编译失败,问题已找到解决方法但原因不明。
方法:将编译失败的.cpp文件从项目中移除后再重新添加。
2.cannot have cv qualifiers. 问题已解决,具体参照C++中cv限定符问题。
3.重载运算符的过程中遇到问题,代码和报错如下:
65.operation operation::operator+(operation &b)const
66.{
67. return b? (this->xor_(b)+((this->and_(b)).lshift_(1))):(*this);
68.}
在函数形参前加const后,错误如下:
binding reference of type 'operation&' to 'const operation' discards qualifiers.
最终发现原因为and_和xor_函数形参不为const类型,修改后问题解决。
4.一个关于题目的问题:封装的位运算不能处理普通整型常量的位运算,这样的封装意义是否较小。
二.高精度加法
遇到的问题:
1.error: macro names must be identifiers.问题已解决,原因为:宏名称(此处为包含警戒中的头文件名称)必须为标识符(_或字母开头且只含字母、_和数字)。