- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个包含多个类的项目中工作。所有头文件都放在“include”文件夹中,所有 src 文件都在另一个文件夹中。但是在这一点上,缺少一个一直工作没有问题的类。
产生错误的代码是:
namespace render{
class CSprite2D
{
CTexture * m_texture;
错误是syntax error : missing ';'在“*”之前所以我不知道为什么 VC++ 找不到我的类(class)。 VC++ 编译类的顺序非常奇怪:在尝试编译 Texture.cpp 之前检测到 sprite2D 中的错误。另外,CTexture类在创建sprite2D之前已经进入项目,并完美运行。
你能帮我一些查找错误的技巧吗?
*编辑:*它有效,解决方案是简单地转发声明纹理类(感谢 James 和 peenut)。但现在我的疑问是:如果我已经包含了纹理,为什么我需要转发声明纹理类?包含头文件还不够?
提前致谢。
最佳答案
只需声明它,您只使用指针:
namespace render{
class CTexture; //forward declaration
class CSprite2D
{
CTexture * m_texture;
当然,正如评论所暗示的那样:
编辑:提问者的编辑:
I've included the texture, why do I need to forward declare texture class?
假设您有“sprite.hpp”、“texture.hpp”,并且 CSprite2D 包含指向纹理的指针。如果没有前向声明,您必须始终在包含“sprite.hpp”之前包含“texture.hpp”。更糟糕的是,如果您的 CTexture 使用指向 CSprite2D 的指针,您别无选择,只能使用前向声明来避免循环依赖。
关于c++ - 错误 C2143。为什么 VC++ 找不到我的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686383/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!