无法计算模型具有的垂直线数量.(不确定数组的大小)



我认为我的问题是因为我将指针的大小与浮点的大小进行比较,而不是将数组中的元素数量与浮点进行比较。

Model::Model(float* p_pos)
{
// Determine vertex count
m_vertexCount = (sizeof(p_pos) / sizeof(float)) / 3;

如果我不是作为float* p_pos传递,而是作为float p_pos[]传递,则没有任何变化。如何确定模型中的vert数?

C数组在作为函数参数传递时会衰减为指针,因此无法提取长度。如果你想知道传递给函数时的长度,你有3个选择:

  • 切换到std::array
  • 将数组的长度与数组一起传递
  • 切换到std::vector

相关内容

最新更新