首页 / 知识
关于c ++:GCC问题:使用依赖于模板参数的基类成员
2023-04-12 05:33:00

GCC issue: using a member of a base class that depends on a template argument以下代码不使用gcc编译,但使用Visual Studio编译:
我收到错误:
但它应该是! 如果我将
然后它确实编译,但我不认为我必须这样做。 GCC在这里遵循C ++官方规范中的某些内容,还是仅仅是一个怪癖? 大卫·乔伊纳有历史,这就是原因。
编译 早期版本通过实际解析基本模板类做了一些推断,但ISO C ++声明这种推断可能导致不应该存在的冲突。
在模板中引用基类成员的解决方案是使用
有关gcc手册的更多信息。 哇。 C ++永远不会因为它的古怪而让我感到惊讶。
这只是各种疯狂。谢谢,大卫。 这是他们所指的标准[ISO / IEC 14882:2003]的"temp.dep / 3"部分:
这在gcc-3.4中有所改变。 C ++解析器在该版本中变得更加严格 - 按照规范,但对于具有传统或多平台代码库的人来说仍然有点烦人。 C ++在这里不能假设的主要原因是基本模板可以在以后专门用于某种类型。继续原始的例子:
VC没有实现两阶段查找,而GCC则实现。因此GCC在实例化之前解析模板,因此发现比VC更多的错误。 |
最新内容
相关内容
python不定参数传值怎么做
python不定参数传值怎么做,位置,培训,名称,标准,代码,参数,函数,定义,教程,程序,使用*arg_name定义的位置参数,表示任意多个位置参数;Python标python怎么重新编译python
python怎么重新编译python,培训,环境变量,命令,里面,以上,文件,更多,内容,第一步,解压Python-3.6.4.tgz,tar-zxvfPython-3.6.4.tgz第二步,进入python函数的参数有几种
python函数的参数有几种,位置,一致,培训,参数,设计,代码,名字,异常,函数,结果,python中函数的参数可以分为位置参数,关键字参数和默认参数。下python用什么编译器
python用什么编译器,代码,平台,工具,环境,培训,灵活,时间,管理,系统,智能,Python的学习过程少不了IDE或者代码编辑器,或者集成的开发编辑器(IDpython怎么传参数
python怎么传参数,培训,地址,通信,函数,参变量,主调,参数,堆栈,变量,局部,首先还是应该科普下函数参数传递机制,传值和传引用是什么意思?函数python需要编译吗
python需要编译吗,代码,平台,做好,培训,体系,语言,机器码,目标,厨师,下次,python是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什pythonpython是如何编译运行的
pythonpython是如何编译运行的,培训,代码,工作,程序,字节,语言,链接,机器,时候,问题,这里的解释执行是相对于编译执行而言的。我们都知道,使用python命名关键字参数的使用注意
python命名关键字参数的使用注意,位置,培训,参数,关键字,函数,后面,定义,以上,教程,更多,python命名关键字参数的使用注意1、如果函数定义中pythonslice的三个参数
pythonslice的三个参数,位置,步长,连续,培训,数据项,参数,代表,索引,范围,正数,python中slice的三个参数1、slice()函数有三个参数:start:索引python代码中编译是什么
python代码中编译是什么,代码,分析,培训,词法,用户,都会,结尾,实例,例子,关键字,python代码中编译是什么说明1、在执行Python代码时,在Pythonpython不同模板的分析
python不同模板的分析,分析,工具,设计,系统,代码,培训,项目,模板,功能,网页,python不同模板的分析1、Jinja2Jinja2是快速全面的选项,可以用来Ppython参数是什么
python参数是什么,位置,参数,培训,概念,灵活,资料,函数,时候,之和,对象,python参数是什么1、概念Python中函数的参数是不变的对象。Python函