我在编译以下代码时遇到问题。
#include <tuple>
#include <vector>
using namespace std;
using Parameter = tuple<int, char[2]>; // compilation fails
//using Parameter = tuple<char[2], int>; // compilation successes
int main() {
vector<Parameter> v;
Parameter r;
v.push_back(r);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用g ++进行编译时,出现以下编译错误:
/usr/include/c++/7/tuple: In instantiation of ‘constexpr std::_Head_base<_Idx, _Head, false>::_Head_base(_UHead&&) [with _UHead = char [2]; long unsigned int _Idx = 1; _Head = char [2]]’:
/usr/include/c++/7/tuple:373:49: required from ‘constexpr std::_Tuple_impl<_Idx, _Head>::_Tuple_impl(std::_Tuple_impl<_Idx, _Head>&&) [with long unsigned int _Idx = 1; _Head = char [2]]’
/usr/include/c++/7/type_traits:1202:12: required …Run Code Online (Sandbox Code Playgroud)