小编Han*_*hin的帖子

关于向量和元组的奇怪的编译错误

我在编译以下代码时遇到问题。

#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)

c++ g++

6
推荐指数
0
解决办法
64
查看次数

标签 统计

c++ ×1

g++ ×1