这里有什么问题

时间:2011-02-09 11:13:59

标签: c++

   unsigned __int8 result[]= new unsigned __int8[sizeof(username) * 4];

IntelliSense:初始化为“{...}”期望聚合对象

4 个答案:

答案 0 :(得分:1)

类型不一样;你不能用指针初始化一个数组。

new unsigned __int8[sizeof(username) * 4];返回unsigned __int8*,而不是unsigned __int8[]

将您的代码更改为

unsigned __int8* result = new unsigned __int8[sizeof(username) * 4];

答案 1 :(得分:0)

unsigned __int8 *result = new unsigned __int8[sizeof(username) * 4];

答案 2 :(得分:0)

new返回指针,而不是数组。你应该声明

unsigned __int8* result = .... 

答案 3 :(得分:0)

这里,result是__int8的数组,因此您不能将一个值分配给整个数组。你真的想要:

unsigned __int8* p_result = new unsigned __int8[sizeof username * 4];