我想在std :: vector中存儲三個任意int,而不定義結構/類。所以我去的std ::元組<>:std :: std :: tuples的向量導致未知的大小
std::vector<std::tuple<unsigned int, unsigned int, unsigned int>
使用MS VS 2013,它會導致以下錯誤:
>c:\program files (x86)\microsoft visual studio 12.0\vc\include\vector(1628): error C2036: 'std::tuple<unsigned int,unsigned int,unsigned int> *' : unknown size
1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\vector(1622) : while compiling class template member function 'void std::vector<std::tuple<unsigned int,unsigned int,unsigned int>,std::allocator<_Ty>>::_Tidy(void)'
1> with
1> [
1> _Ty=std::tuple<unsigned int,unsigned int,unsigned int>
1> ]
1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\vector(945) : see reference to function template instantiation 'void std::vector<std::tuple<unsigned int,unsigned int,unsigned int>,std::allocator<_Ty>>::_Tidy(void)' being compiled
1> with
1> [
1> _Ty=std::tuple<unsigned int,unsigned int,unsigned int>
1> ]
1> d:\projects\gl33\src\nvf.cpp(39) : see reference to class template instantiation 'std::vector<std::tuple<unsigned int,unsigned int,unsigned int>,std::allocator<_Ty>>' being compiled
1> with
1> [
1> _Ty=std::tuple<unsigned int,unsigned int,unsigned int>
1> ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped =======
這是由於MSVS2013編譯器限制?或者我做錯了什麼?
我想你忘了包含''標題:'#include ' - 當只包含''而不是''時,我可以重現你的錯誤信息。 –
dyp
該死的,你說得對。只是認爲它已經包括在內。感謝您的評論。你會重新發布爲答案,我可以標記爲已解決? – madmartin