我的教授发回了一封简短的电子邮件:
int x = 100;
var HT*;
HT = new int[x];
首先: 编译代码(与其他东西一起使其“工作”): 错误:'var'没有命名类型。
第二: 这是用于哈希表。显然这是根据ANSI标准创建可变大小数组的方法(G ++有我们不能使用的扩展,或者他们会射击我们)。
有什么想法吗?
答案 0 :(得分:3)
var HT*
是无效的C ++语法(看起来C#-inspired给我;-) - int *HT
是如何在C ++中声明HT
是一个指向整数的指针(它可以保存数组的结果 - new
- 当你完成时,你必须记住使用delete[]
而不是普通delete
。)。
答案 1 :(得分:1)
它应该是auto
,相当于C#中的var
。但我认为,如果您的教授不允许使用std::vector
,他或她将不允许使用std::array
或c ++ 0x代码元素。据我所知,标准c ++中没有var
关键词。在C ++ / CLI中有一个,但在我红了之后,如果你只是提到这个缩写,你的教授就会心脏病发作......
答案 2 :(得分:0)
将var
更改为int
,这应该摆脱第一个错误。