Windows 7上的Visual Studio 2010旗舰版。std :: vector是否有转换运算符?我在看什么?
编辑:这是非常旧的代码,我没有写,一个大的旧混乱的一部分,深深植根于代码库。这很快就不会改变。虽然,我很高兴你们都证实了我的想法:这应该是不可能的,就其本身而言。
我有equivelant代码:
typedef std::vector<Widget*> widget_vector_t;
typedef struct
{
widget_vector_t widget_array_[SOME_SIZE_CONSTANT];
} WIDGET_STRUCT;
然后,在一个班,我有一个WIDGET_STRUCT成员:
WIDGET_STRUCT widgets_;
在一些成员方法的身体,我看到这...这个...... THING:
Widget *p = widgets_.widget_array_[SOME_INDEX_CONSTANT];
要清楚,这是我的下认为这是将Widget指针的向量分配给Widget指针。
它的工作原理。
STL向量是否提供一些演员操作符或东西返回向量中的第一个元素?
我怀疑这会编译。你能把这个小小的可编辑样本放在一起吗? –
编译时没有警告? – gogoprog
下面是如何生成最小示例以演示您描述的代码的示例:http://ideone.com/rvE2w9。正如你所看到的,它不会编译(在该编译器上)。如果我的代码与您的真实代码不同,那么在您的描述中忽略了您真实代码中的某些内容,这可能是相关的。所以同样,*显示完整的代码*。 –