大佬教程收集整理的这篇文章主要介绍了无法创建一个空元组的一元组(c 0x),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
//a.cpp #include <tuple> using namespace std; int main() { auto te = make_tuple(); //this line is ok auto tte = make_tuple(tE); //this line gives an error. return 0; }
我用g 4.5(g -std = c 0x a.cpp)和MS VC 2010编译它.
两个编译器都在main()中的第二行给我一个错误.
我的问题是这样的:
由于’te’是一个明确定义的变量,为什么不能用te作为内容来创建另一个元组.这个语义是否正确?
我想这是一种边界的情况,但是如果算术是正确的,应该允许零.
来自gcc的错误消息是:
$gcc -std=c++0x a.cpp In file included from a.cpp:1:0: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/tuple: In constructor 'std::tuple<_Elements>::tuple(std::tuple<_UElements ...>&) [with _UElements = {},_Elements = {std::tuple<>}]': c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/tuple:551:62: instantiated from 'std::tuple<typename std::__decay_and_Strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {std::tuple<>&},typename std::__decay_and_Strip<_Elements>::__type = <type error>]' a.cpp:6:27: instantiated from here c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/tuple:259:70: error: invalid static_cast from type 'std::tuple<>' to type 'const std::_Tuple_impl<0u>&'
以上是大佬教程为你收集整理的无法创建一个空元组的一元组(c 0x)全部内容,希望文章能够帮你解决无法创建一个空元组的一元组(c 0x)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。