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。正如你所看到的,它不會編譯(在該編譯器上)。如果我的代碼與您的真實代碼不同,那麼在您的描述中忽略了您真實代碼中的某些內容,這可能是相關的。所以同樣,*顯示完整的代碼*。 –