在C语言中,是否有可能在语义上创建一个类型不完整的左值?

问题描述在C89标准中,我找到以下部分:3.2.2.1L值和功能指示符除非它是sizeof运算符、一元&运算符、++运算符、--运算符或的左操作数的操作数。运算符或赋值运算符,则不具有数组类型的左值将转换为存储在指定对象中的值(不再是左值)。如果左值具有限定类型,则该值具

发布:2023-01-03 标签:cundefined-behaviorlanguage-lawyerlvalueincomplete-type


析构函数必须只是可用的(公共的)还是对默认的初始化类成员完全有效?

问题描述请考虑结构A具有u类型的U<R>和默认初始值设定项。析构函数~U<R>仅声明为:template<typenameT>structU{~U();};structR;structA{U<R>u=U<R>{};};所有编译器都接受此代码,demo:https://gcc.go

发布:2022-10-16 标签:c++language-lawyerc++20incomplete-type


不允许C++转发声明和&amp;#39;不完整的类型&amp;#39;错误

问题描述我有两个类(或者更好的是,头文件)是我的C++程序的一部分,我就是不能让它们全部工作!他们基本上需要彼此的数据才能正常运行,作为我的应用程序的一部分。不要通过阅读此代码的要点来折磨自己;我只需要解决转发声明和相互包含问题,因此只查看与此问题有关的代码部分。错误出现在最后的

发布:2022-10-16 标签:forwardc++-clic++declarationincomplete-type


“不完整类型&quot;在具有与类本身相同类型的成员的类中

问题描述我有一个类应该有同一个类的私有成员,例如:Ihaveaclassthatshouldhaveaprivatememberofthesameclass,somethinglike:classA{private:Amember;}但它告诉我成员是一个不完整的类型.为什么?如果

发布:2022-10-16 标签:typesc++private-membersmemberincomplete-type


C Typedef - 不完整的类型

问题描述所以,出乎意料地,编译器决定把这个吐出来:现场客户的类型不完整".So,outoftheblue,thecompilerdecidestospitthisinface:"fieldcustomerhasincompletetype".以下是相关代码片段:#include<

发布:2022-10-16 标签:structcheader-filesincomplete-typetypedef


模板中的类使用不完整

问题描述我很惊讶在各种采样版本的g++上,以下编译没有错误或警告:Iamverysurprisedthatonvarioussampledversionsofg++,thefollowingcompileswithouterrororwarning://Adaptedfrombo

发布:2022-10-16 标签:templatesc++incomplete-type


如何声明同一类的成员向量?

问题描述到底为什么下面这段代码有效?Whyonearthdoesthefollowingpieceofcodework?structA{std::vector<A>subAs;};A是不完整的类型,对吧?如果有A*s的向量,我会理解.但在这里我不明白它是如何工作的.这似乎是一个递

发布:2022-10-16 标签:templatesc++membervectorincomplete-type


标准容器模板可以用不完整的类型实例化吗?

问题描述有时实例化具有不完整类型的标准容器以获得递归结构是有用的:Sometimesit'susefultoinstantiateastandardcontainerwithanincompletetypetoobtainarecursivestructure:structmul

发布:2022-10-16 标签:templatesc++stlincomplete-type


为什么 C++ 容器不允许不完整的类型?

问题描述为什么C++不允许实例化不完整类型的容器?Whydoesn'tC++allowcontainersofincompletetypestobeinstantiated?当然可能编写没有此限制的容器--boost::container完全有能力做到这一点.据我所知,它似乎没有

发布:2022-10-16 标签:templatesc++stlincomplete-type


GCC:数组类型具有不完整的元素类型

问题描述我已经声明了一个struct,并且我尝试将这些结构的数组(以及一个双精度数组和一个整数的double数组)传递给一个函数.我在编译时从gcc收到数组类型具有不完整的元素类型"消息.将struct传递给函数的方式有什么问题?typedefstructgraph_node{整

发布:2022-10-16 标签:arraysmultidimensional-arraycgccincomplete-type