VC++6.0在重载操作符时时定义为友元,报错fatal error C1001: INTERNAL COMPILER ERROR解决方案
来源:互联网 发布:勇者斗恶龙8知乎 编辑:程序博客网 时间:2024/06/06 09:07
今天帮别人回答问题的时候,用VC6.0测试了一下他的代码,因为这个编译器启动较快,这点比较喜欢,发现了以前一直没有注意的问题。
先贴出错误现象:
--------------------Configuration: 2 - Win32 Debug--------------------Compiling...2.cppC:\Users\Administrator\Desktop\2.cpp(14) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more informationError executing cl.exe.2.obj - 1 error(s), 0 warning(s)
当时看到这样的错误,心想这是神马错误。然后再仔细看了一遍代码,发现确实没有问题啊?这个时候首先想到的就是换个编译器试试,换了个高级的编译器(VC9.0),跑了一下果然没有问题。然后就到谷歌上贴上错误提示搜了一下,果然还是有很多人遇到了这个问题,提到了两种解决方法。
1.在VC6.0的代码中,用#include <iostream.h>
2.增加前导声明
代码如下:
//第一种方式/*#include<iostream> using namespace std; class A;//前导声明A operator+(A a, A b);//前导声明*///第二种方式#include <iostream.h>class A {private:int x; public: A() : x(0) {} A(int a) : x(a) {} A(A &a) { x = a.x; } friend A operator+(const A &a1, const A &a2); void disp() { cout << x << endl; } }; A operator+(const A &a1, const A &a2) {A temp(a1.x + a2.x); return temp; } int main() { A a1(1), a2(3), temp; temp = a1 + a2; temp.disp(); return 0;}PS:经过这个事情更加觉得还是少用VC6.0的好,个人想法,仅供参考。
参考资料:http://lihuan-dianxian.blogbus.com/logs/42102230.html
0 0
- VC++6.0在重载操作符时时定义为友元,报错fatal error C1001: INTERNAL COMPILER ERROR解决方案
- 对于VC++报错:fatal error C1001: INTERNAL COMPILER ERROR
- 对于VC++报错:fatal error C1001: INTERNAL COMPILER ERROR
- fatal error C1001: INTERNAL COMPILER ERROR
- 关于 fatal error C1001: INTERNAL COMPILER ERROR
- 关于 fatal error C1001: INTERNAL COMPILER ERROR
- fatal error C1001: INTERNAL COMPILER ERROR
- fatal error C1001: INTERNAL COMPILER ERROR
- fatal error C1001: INTERNAL COMPILER ERROR
- fatal error C1001: INTERNAL COMPILER ERROR
- VC++ 6.0 的编译错误: fatal error C1001: INTERNAL COMPILER ERROR
- 使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决
- 使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决
- 使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决
- 遭遇“fatal error C1001: INTERNAL COMPILER ERROR”,给初学者提个醒
- fatal error C1001: INTERNAL COMPILER ERROR错误解决
- fatal error C1001: INTERNAL COMPILER ERROR VC6.0BUG
- 遭遇 C1001: INTERNAL COMPILER ERROR
- NSDate日期比较
- C语言的存储区
- LeetCode OJ平台上Binary Tree Postorder Traversal题目用java堆栈实现
- (实用)简单的百度各平台分享代码
- editplus+mingw搭建C++开发环境
- VC++6.0在重载操作符时时定义为友元,报错fatal error C1001: INTERNAL COMPILER ERROR解决方案
- Matlab中的一些小技巧
- Google Maps Android API V2使用及问题解决
- Linux if表达式出现unexpected operator
- 编译ffmpeg的过程
- Git使用简单总结
- editplus搭建C++开发环境
- initWithNibName和viewDidLoad
- opencv学习