【发布时间】:2009-10-30 12:53:16
【问题描述】:
我目前正在开发一个小型标记器模板函数,该函数还将标记转换为不同的对象。只要我投射的所有结构都具有相同数量的项目,这真的很好。我想知道的是将函数转换为具有任意数量项目的结构。现在对我来说功能的瓶颈是: 当它是固定数量(在本例中为三个)的项目时,我这样做了:
mystruct holder = {items[i], items[i+1], items[i+2]};
现在我能够转换为具有不同项目的结构的想法是将所有项目放入一个数组中(所有结构项目将属于同一类型)并像这样简单地初始化它:
float values[numItems];
for(int j=0; j<numItems; j++) values[j] = items[i+j]
mystruct holder = {values};
但不幸的是你不能像这样初始化一个结构。有人知道如何实现这一目标吗? 谢谢!
【问题讨论】:
-
mystruct是什么样的?看来您应该使用 std::list 或向量 -
嘿,mystruct 基本上很简单,像这样的东西: template
struct Vertex{ T x,y,z; };或:模板 struct TexCoord{ T u,v; };