1、.1. 编译错误 stray260in program1) 错: cout原话输出没有加英语的双引号endl;正: cout原话输出没有加英语的双引号endl;错: counter-;2) 正: counter- ;(符号要用英文的输入法 )正: class B;Class Apublic friend class B ;类定义之前使用要提前声明,否则识别不出来2.undefined reference to Count:display_total()|原因可能是1) 就是 main.cpp 为 c+ 代码,调用了 c 语言库的函数,因此链接的时候找不到,解决方法:即在main.cpp中,把与
2、c 语言库test.a相关的头文件包含添加一个extern C的声明即可。2)只声明了函数而未定义函数3) undefined reference to Count:counter|静态数据成员counter初始化要在类外(最外面)正:class Count-.private:static int counter;/创建或销毁对象时用静态数据成员counter记录对象数int obj_id;/给每一个对象提供对象ID 号public:Count();static void display_total();void display();Count();int Count:counter=0;/静
3、态数据成员counter初始化3. No such file or directory|错:#include (不同的编译器结果可能不同)正: #include endl was not declared in this scope|cout was not declared in this scope|原因:没写using namespace std;4.原因:调用默认的拷贝构造函数时出现指针悬挂,得不到想要的结果解决办法加上自己写的拷贝构造函数,让对象s1 的成员指-.针指向一个新的空间,这样当-.s2 的生存期结束时共享的内存空间被收回,s1 的成员指针成了悬挂指针Sting(const
4、 string &S)ptr=new charstrlen(S.ptr)+1;以下三种情况会调用拷贝构造函数1) 当类的一个对象去初始化该类的另一个对象时Test b=a ;或 Test b (a);2)如果函数的形参是类的对象,调用函数进行形参和实参结合时3)函数返回值是类的对象,函数调用完成返回时4.错: char name20;cinname20;正: char name20;cinname;5. no matching function for call to Student:Student()main函数中声明对象时隐式调用构造函数时参数列表与 构造函数在类中定义时的参数列表不一致S
5、tudent:Student(char *p,float b).-.main()Student a;.6. error: int vehicle:wheels is privateerror: within this context|基类的三中成员在子类里都被隐藏,不能通过对象直接调用,而应通过函数7. error: expected unqualified-id before . token子 类 中 调 用 基 类 的 成 员 函 数 , vehicle.display();改 为display();8.引用友元类指针,error:pwas notdeclaredin thisscope|
6、错: obj.*p;正: *(obj.p);9. ld.exe| cannot open output file binDebug2.exe Permission denied打开文件夹删除,重建工程或文件文件正在别的程序使用,或者还有程序的副本正在执行,因此不能写入part.exe ,把副本关闭或者结束part.exe任务应该就能够纠正这个问题10. Target is up to date.Nothingtobedone.可能是你在一个project里建立了两个file ,且前一个已经编译过了重建工程就能解决问题-.11.Compilererror:musttakeexactlyone argument用成员方式重载运算符,不能改变参数的个数,二元运算符用成员重载时,只需要一个参数 ,另一个参数由this指针传入。如果需要两个参数,那么可以在类外面定义,然后在类里声明为友元。欢迎下载,谢谢观看!资料仅供参考学习-