forward-declaration 相关问题

前向声明允许静态类型的程序指示符号的类型和名称,而不实际定义它。

std 命名空间中变量/类的前向声明

如果我有一个不需要在 .hpp 文件中完整定义的类,我通常主要使用前向声明 前任) //B.hpp 命名空间 A_file { A 级; } 命名空间 B_file { 类...

回答 1 投票 0

基子句之前的类声明是有效的前向声明吗?

我不确定我的问题标题是否最合适,如果我得到足够的建议,我会很乐意将其更改为更清晰的内容。 在一个主题不是这里的 C++ 视频中,我看到了这个

回答 1 投票 0

转发声明结构的正确方法? [重复]

假设我想声明结构体 A 和 B 结构体A{ 企业到企业(){ 返回 B(); } }; 结构体B{ 到A(){ 返回 A(); } }; 我会收到类型 B 未定义的错误 main.cpp:2:2: 错误...

回答 1 投票 0

已解决 - 在 nim 中声明程序原型

我正在尝试了解如何在 nim 源中声明相互调用的不同过程,因为听起来编译器希望所有调用都在声明之后进行,但是过程...

回答 1 投票 0

在 nim 中声明程序原型

我正在尝试了解如何在 nim 源中声明相互调用的不同过程,因为听起来编译器希望所有调用都在声明之后进行,但是过程...

回答 1 投票 0

外部库的前向声明(PIMPL)也用于方法声明?

我已经查看了大量有关前向声明/PIMPL 的帖子,但还没有完全设法让它与我正在使用的外部库一起工作。我想创建一个共享库...

回答 1 投票 0

在函数声明中使用前向声明类型的 stl 容器作为按值参数是否合法?

考虑以下代码: #包括 结构体A; int foo(std::span span); 即使 span 要求类型是“不是

回答 1 投票 0

可以向前声明一个采用具有默认值的不完整类型向量的函数吗?

下面的代码片段演示了我最近在程序中遇到的一些实际问题: #包括 A 级; void f( const std::vector & = {} ); 有一个不完整的A类,一个...

回答 1 投票 0

C - 枚举的前向声明

C 中枚举的前向声明对我不起作用。 我搜索了 Internet 和 Stack Overflow,但所有有关枚举器前向声明的问题都涉及 C++。你做什么...

回答 4 投票 0

前向声明/何时最好包含标头? [重复]

我很清楚何时可以/不能使用前向声明,但我仍然不确定一件事。 假设我知道我迟早必须包含一个标头来取消引用 c 的对象...

回答 3 投票 0

转发声明与包含[重复]

考虑以下两种情况(编辑只是为了完成整个问题并使其更清晰) 情况 1:(无法编译,如下所述) //B.h #ifndef B_H #定义B_H #包括“B...

回答 6 投票 0

包含您使用的内容想要存储在模板类中的数组中的类型的前向声明,这会导致字段具有不完整的类型错误

我有一个模板类,类似于下面的类。 行为并不那么相关,重要的是,它有一个数组作为存储 T 的属性,其大小取决于模板参数...

回答 1 投票 0

如何访问 C++ 类中的前向声明?

下面的代码可以工作,但是将方法与这个状态机的每个状态分开,可读性不是很好: 结构基础{ 虚拟基* next() = 0; }; 结构 StateA : public Base { ...

回答 1 投票 0

boost::gil::rgba8_image_t 前向声明

试图为 boost::gil::rgba8_image_t 创建前向声明: 命名空间 boost::gil { 类 rgba8_image_t; } 得到这个: ...错误:类型“rgba8_image_t”的定义与类型

回答 1 投票 0

如何在 C++ 中初始化前向声明的类 [重复]

我有两个类,A 和 B,它们相互依赖: A类{ 民众: 乙*乙; A() { b = 新 B(); } }; B类{ 民众: 一个*一个; B() = 默认值; }; 这段代码不会...

回答 1 投票 0

在C++中使用extern时重声明错误。

所以,AFAIK,在C语言中,你可以多次声明一个名字,但你不能重新定义一个名字超过一次。另外,根据我的想法,声明是当一个名字被引入时。它是当...

回答 1 投票 0

转发用C语言声明一个结构

快速提问,如何转发声明下面的treeNodeListCell结构。我试着在结构体之前写结构体 treeNodeListCell,但代码还是不能编译。谁有办法?...

回答 2 投票 0

我可以在头文件中向前声明在其他头文件中定义的名称吗?

我想创建一个类Student,它的成员类型是库std::string,但我不想包含头文件。 在我的Student.h中,只使用正向声明。/ Student.h #...

回答 1 投票 0

命名空间中不能使用转发声明的替代方法

我了解到,作为类的正向声明的替代方案,你可以使用C-style identifiersdeclarations,比如这样。/instead of class Foo; void func(Foo* foo); /do void func(class ....

回答 1 投票 0

如何在不包含头的情况下,转发声明的类也能成功编译?

ClassA有一个成员指针指向ClassB。我在ClassA.h和ClassA.cpp中没有#include "ClassB.h",我还添加了ClassB的正向声明作为指针b的引用。这段代码建 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.