template
T* dynamicAllocateMemory(const std::vector& vector)
{
int index = 0;
T* p = (T*)malloc(sizeof(T) * vector.size());
for (auto& verticePart : vector)
{
std::cout << "verticePart" << verticePart << std::endl;
*(p + index) = verticePart;
++index;
}
return p;
}
函数模板返回的指针不能用,请问这个函数哪里出了问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
Cynhard85 2022-04-29 16:40关注参数不能是模板名称,应该是具体的类型,应改为
const std::vector<T>& vector。另外 std::vector 里的元素是连续的,考虑使用memcpy来替代for循环:memcpy(p, &vector[0], sizeof (T) * vector.size())本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用