首页 > TAG信息列表 > forward-declaration

如何在C中的另一个函数内部调用一个函数?

如何在C中的另一个函数内部调用一个函数?解决方法: I don’t think this is possible. 我不同意: void bar() { } void foo() { bar(); // there, I use bar inside foo } 如果要使用尚未定义的函数,则必须先声明它,然后才能使用它: void baz(); // function declaratio

c-当一个类包含在另一个类中时,为什么不继续声明类的工作

这样编译 #include "Sprite.h" class GameObject { public: int x, y, w, h; Sprite sprite; public: GameObject(); GameObject(int _x, int _y, int _w, int _h); virtual ~GameObject(); }; 这不是 class Sprite; class GameObject {

c – 为什么在课堂内不需要“在使用前声明”规则?

参见英文答案 > Do class functions/variables have to be declared before being used?                                    4个我想知道为什么C之前的声明使用规则不能保持在类中. 看看这个例子: #ifdef BASE struct Base { #endif str

c – 如何转发声明一个类的成员函数在另一个类中使用?

我已经制作了两个相同的类X和Y,并且指向了彼此.有关X.h的信息,请参阅下面的代码,Y.h与所有X和Y的互换完全相同.但是,此代码在我的方法Connect中出错(错误C2027:使用未定义类型’Y’).在X.h中,我已经向前声明了类Y,但它不知道Y有一个名为SetXPointer的方法.因此我还需要转发声明这个

c – 使用不完整类型结构无效,即使使用前向声明也是如此

我知道循环依赖,但即使使用前向声明,我也会得到这个区域. 我究竟做错了什么? // facility.h class Area; class Facility { public: Facility(); Area* getAreaThisIn(); void setAreaThisIsIn(Area* area); private: Area* __area; }; // facility.cpp #include

C类前瞻性声明

当我尝试编译此代码时,我得到: 52 C:\Dev-Cpp\Projektyyy\strategy\Tiles.h invalid use of undefined type `struct tile_tree_apple' 46 C:\Dev-Cpp\Projektyyy\strategy\Tiles.h forward declaration of `struct tile_tree_apple' 我的代码的一部分: class tile_tree_app

函数的符号何时在Python中绑定?前瞻性声明可能吗?

假设我们有一个将字符串映射到函数的哈希表.在我的例子中,我将其命名为COMMANDS.如果我将某个函数的定义(让我们称之为cmd_add)放在将它映射到字符串的哈希表之后,然后我尝试调用它,我收到一个错误: COMMANDS = {'add': cmd_add} def cmd_add(): print 'ADD' COMMANDS['add']()

C:编译一些代码所需的转发类定义

我正在用C编写一个小游戏作为练习,我遇到了一个难题. 基本思想是Level有一个Entity向量,每个Entity实例知道它属于哪个级别.到目前为止非常简单. 我在我的Entity类中得到了一些讨厌的编译错误,因为它无法弄清楚Level是什么.在实体声明之前的一个简单的前瞻性声明容易修复.但是,我已

c – 将前向声明的类型转换为void是合法的吗?

参见英文答案 > Why can’t an incomplete type be casted to void?                                    2个 下面是一个C头文件,在g和clang下编译时没有错误,但在MSVC2015下,它在(void)copyFrom行上出错,错误为C2027:使用未定义类型’blah ::

c – 何时需要空名称空间定义?

命名空间不像大多数其他东西那样被声明和定义,但是前向声明的命名空间将是: namespace X {} // empty body 通常,您可以通过在其中放置其他声明来定义命名空间.但这个“命名空间转发声明”是最容易解决的问题吗?空命名空间有什么用?解决方法:这是一个甚至出现在标准中:声明一个using

c – 错误C2027:使用未定义类型 – 如何声明类

我遇到了以下错误 – 当我只是提供类的定义然后再声明它.我的理解是,只要我们这样做,因为我已经做了很多次函数定义,编译器得到它但似乎我的理解是有缺陷的,有人可以帮助我理解在理解如何声明类时缺少的部分. error C2027: use of undefined type 'generic_iterator' note: see de

c – 如何解决Boost :: BGL模板< - >类循环依赖?

我在使用Boost图形库的邻接列表时遇到问题.这似乎是循环依赖问题: 我有一个模板的typedef T,它使用了一些类A.另外一个存储指向类型为T的对象的指针.现在编译器告诉我,T没有命名一个类型. 以下是我更具体文件的摘录: //graphdefinitions.hpp #include "lane.hpp" #include "tie.hpp"

c – 在cpp文件中声明转发的类定义,用于什么?

在.cpp文件中转发类定义有什么意义? 想象一下,我在另一个公共类中有一个私有类.我转发了私有类的定义,比如私有类. 将我的私有类的声明放在.cpp文件中是否有任何好处,或者我应该在我的公共class.h中坚持我的前向声明并将我的privateClass.h包含在cpp文件中?解决方法:内部类和结构通常

c – 未定义类型的类型转换

如何为前向声明的类实现类型转换操作符. 我的代码是. class CDB; class CDM { public: CDM(int = 0, int = 0); operator CDB() const //error { } private: int m_nMeters; int m_nCentimeters; }; class CDB { public: CDB(int = 0, int

c – 不完整类型错误

我试图让A班成为B班的朋友. class B; class A{ public: void show(const B&); // ##1## but this one works fine B ob;// error incomplete type }; class B{ public: int b; B():b(1){} friend class A; }; 所以我的问题为什么它是不完整的类型?我认为当我做B类时,它就

c – 你应该在前向声明标题中使用#ifndef guard吗?

我有一个简单的头文件,我在前面声明命名空间中的所有类,例如. #ifndef TEST_FWD_HPP #define TEST_FWD_HPP namespace a { namespace b { class A; class B; } } #endif 该文件是否应该防范多个包含(#ifndef …)?这仅对前向声明有意义吗?解决

python – 前向声明 – django中没有管理页面?

这可能是数据库设计问题,但我无法弄清楚.在其他几个方面,我有这些模型: class User(models.Model): name = models.CharField( max_length=40 ) # some fields omitted bands = models.ManyToManyField( Band ) 和 class Band(models.Model): creator = models.ForeignKe