今天的第二题写了一个很漂亮的函数,本地测试没有任何问题,结果一上线就“Restricted Function”和“Runtime Error”,把析构函数删掉之后还来了个“Wrong Answer”
真是太奇怪了,结合前几次debug的经验,先检查是不是使用了new T(n),发现一个,改成new T[n],改掉之后问题依然存在。
想了很久依然毫无结果,然后去问了同学,发现另一个int new(MaxSize)也是圆括号,改之,居然过了!!!
然后去翻了翻课本,终于想起了new ( )和new[ ]的区别
知识点:
new 类型[ n(数目)]
new 类型(初始化参数)
例如,new int[100] 是新建一个100长度的int数组,而new int(100)是新建一个整数,初始化为100;
那new int[100]()是什么意思呢?
新建一个100长度全为0的int数组.....
好了,这就是今天分享的全部内容。下面分享一些比较搞笑的代码(能过但是.....没有用到指针,请勿模仿)
// TODO:
// change the data in position i to x:
void Set(int i, T x){
Insert(i+1,x);
Delete(i);
//赋值就是先删除再插入
}
void sortedInsert(T x){
Insert(Locate(x),x);
}//这里偷偷修改了Locate函数的一个等于号和一个return ~大家可以猜猜怎么改的~
真是太奇怪了,结合前几次debug的经验,先检查是不是使用了new T(n),发现一个,改成new T[n],改掉之后问题依然存在。
想了很久依然毫无结果,然后去问了同学,发现另一个int new(MaxSize)也是圆括号,改之,居然过了!!!
然后去翻了翻课本,终于想起了new ( )和new[ ]的区别
知识点:
new 类型[ n(数目)]
new 类型(初始化参数)
例如,new int[100] 是新建一个100长度的int数组,而new int(100)是新建一个整数,初始化为100;
那new int[100]()是什么意思呢?
新建一个100长度全为0的int数组.....
好了,这就是今天分享的全部内容。下面分享一些比较搞笑的代码(能过但是.....没有用到指针,请勿模仿)
// TODO:
// change the data in position i to x:
void Set(int i, T x){
Insert(i+1,x);
Delete(i);
//赋值就是先删除再插入
}
void sortedInsert(T x){
Insert(Locate(x),x);
}//这里偷偷修改了Locate函数的一个等于号和一个return ~大家可以猜猜怎么改的~










