报错总结

先占个坑,平时遇到的编译器怎么报错了就在这篇下面写一写了。

调试是一项必备技能!!!

C Visual Studio

1,
0xC0000005: 写入位置 0xCCCCCCD8 时发生访问冲突

分配内存出现了问题。去调试的时候可以明显看见分配好内存的和没分配好的地址是有区别的。
我自己定义了一个结构体数组,但是不知道怎么给他分配内存,换了一种写法把结构体元素一个个分配空间这条编译就过了。
for (int i = 0; i < N; i++)
{
v[i] = (Vertex)malloc(sizeof(V));
x[i] = (Vertex)malloc(sizeof(V)*M);
}

2**.无法进行写入**
看一下是不是上一次的运行结果没有关!!!把它关了试试,还不行就关了运行结果之后重新打开Visual Studio就没什么问题了。

Java Eclipse
1.输出结果是上一次的运行结果,或者运行父类的结果

先检查一下有没有最基本的错误,就是main的那里 public static void main(String[] args)有没有错,要是没有的话检查一下输出结果是不是父类的里面的toString的结果,如果是的话很可能就是子类在输出的时候调用了父类的toString输出了父类的字符串。需要自己构造一个toString。看了一下以前的代码,发现在println的时候一般都是用get方法得到的结果或者是把一个对象toSting()。

  1. CloneNotSupportedException
    如果类没有覆盖clone()方法就用super.clone()调用的话就会造成一个CloneNotSupportedException的错误。因为在java.lang.Object里他是protected的。
    我改了一个写法用前面学的异常处理搞了一下可以运行
    try {
    		return super.clone();
    		}
    		catch(CloneNotSupportedException e) {
    
    			System.out.println("Cloning not allowed.");
    
    			return this;
    		}

猜你喜欢

转载自blog.csdn.net/alike_meng/article/details/83718467