33,311
社区成员
发帖
与我相关
我的任务
分享
void funcA(const ClassA* arr, size_t number_of_ClassA);
//我可以这样写:
ClassA temp[] = { ClassA(1, "red"), ClassA(2, "green")};
funcA(temp, sizeof(temp) / sizeof(temp[0]));
ClassA* temp[len];
temp[1] = new ClassA(1, "red");
temp[2] = new ClassA(2, "green");
//那我现在该怎么调funcA这个函数
//我是这么写的:
funcA(temp[0], sizeof(temp) / sizeof(temp[0]));
ClassA* temp = new ClassA[len];
funcA(temp[0], sizeof(temp) / sizeof(temp[0]));
特别是这个的sizeof(temp) / sizeof(temp[0])计算[/quote]
不正确,这里的temp实际是指针,不是数组,既然大小都是len了,直接传len就可以了:
funcA(temp, len);
ClassA* temp = new ClassA[len];
funcA(temp[0], sizeof(temp) / sizeof(temp[0]));
特别是这个的sizeof(temp) / sizeof(temp[0])计算