- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 SDL 的 C++ 项目。
我在编译时遇到这个错误,我不知道如何解决。
它说:
Source/Classes/game.cpp:15:15: advarsel(this means 'warning' in danish): unused variable 'imagemanager' [-Wunused-variable]
但是 imagemanager 是一个类?这是导致错误的行:
Imagemanager imagemanager; // Init's class Imagemanager
它位于文件“game.cpp”的第 15 行
这是“图像管理器”;
class Imagemanager
{
friend class Player;
private:
public:
SDL_Surface* load_image( std::string filename ); // Loads images
//Apply a surface to another. Often used for applying surface to display
int apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip );
};
这是在不同的文件中定义的,但已正确包含。</p>
编辑:忘了说我正在使用这个类,但是当我使用它时编译器说它没有定义我在这里使用图像管理器:
surface = imagemanager.load_image("player.png";);
这是在另一个名为
的类中Player
并初始化为
player
两个类(imagemanager 和 player)都在 Game 类的构造函数中初始化,而 game 在 main 中初始化。我在播放器中使用 imagemanager 并计划在其他地方使用它。主文件:
#include <windows.h>
#include <string>
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "Classes/game.cpp"
int main( int argc, char* args[] )
{
Game game;
game.initialize(); // Initializes the rest of game
game.go(); // Starts the game
return 0; // Ends the program
}
Game.cpp的构造函数+头文件:
#ifndef _GAME_
#define _GAME_
#include "imagemanager.cpp"
#include "player.cpp"
#include "timer.cpp"
#include "game.h"
Game::Game()
{
screenDimension.w = 940; // Width of the initialized window
screenDimension.h = 540; // Height of the initialized window
useFrameCap = true; // Tells the frame cap wether to activate or not
quitGame = false; // Tells the main loop to quit if true
FPS = 60; // Frames per second. Used by the frame cap.
Imagemanager imagemanager; // Inits class Imagemanager
Player player; // Inits class Player
Timer timer; // Inits class Timer
Game game; // Inits class Game
}
稍后在“game.go()”中我调用函数“player.render()”,然后是“player.update()”:
if ( RunJumpF )
{
RunJumpF = player.jump();
}
RunJumpF 在按下右键或函数想要在下一个刻度运行时变为真
在我调用的其他事物的所有其他计算之后:
player.update();
我的具有实际功能的 player.cpp 文件如下所示:
#ifndef __PLAYER__
#define __PLAYER__
#include <string>
#include "player.h"
Player::Player()
{
surface = imagemanager.load_image("player.png";); // Loads the player tile and saves into the surface 'surface'
if (surface == NULL) // in case something went wrong in loading the player, tell the user
{
SDL_WM_SetCaption("ERROR LOADING PLAYER!", NULL); // I know there are better ways to do this but i'll look at that later
}
needsUpdate = true;
}
bool Player::jump()
{
move.x = move.x + 3; // Moves the player X pixels right, next time the player updates
needsUpdate = true; // Tells the program to update the player
return true; // Tells the program that this function isn't done and it will be run next tick
}
int Player::update()
{
if ( needsUpdate )
{
pos.x = pos.x + move.x;
pos.y = pos.y + move.y;
move.x = 0;
move.y = 0;
render(); // This calculates the position of the player and blits the player to the display
return 1; // If no errors were discovered return 1;
} else {
render();
return -1; // If no need to update, returns -1
}
}
bool Player::render()
{
if (SDL_BlitSurface( surface, NULL, display, pos ) != 0)
{
SDL_WM_SetCaption("ERROR BLITTING PLAYER!", NULL); // Tells the user that shit gone wrong
return false;
}
return true
}
#endif
最佳答案
这是警告,不是错误。由于您不使用 imagemanager
对象而只声明它 - 您会收到此警告。你可以使用例如(void)imagemanager;
,或者真的使用这个对象(开发应用之前不要注意这个警告),警告就会消失。
编辑:向我们展示这个对象的用法如何?
关于c++ - 未使用的变量 'class' [-Wunused-variable] - 错误/警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15518821/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to nest OR statements in JavaScript? 有没有办法做到这一点:
在 JavaScript 中有没有办法让一个变量总是等于一个变量?喜欢var1 = var2但是当var2更新,也是var1 . 例子 var var1 = document.getElementBy
我正在努力理解这代表什么 var1 = var2 == var3 我的猜测是这等同于: if (var2 == var3): var1 = var2 最佳答案 赋值 var1 = var2
这个问题已经有答案了: What does the PHP error message "Notice: Use of undefined constant" mean? (2 个回答) 已关闭 8
我在临时表中有几条记录,我想从每条记录中获取一个值并将其添加到一个变量中,例如 color | caption -------------------------------- re
如何将字符串转为变量(字符串变量--> $variable)? 或者用逗号分隔的变量列表然后转换为实际变量。 我有 2 个文件: 列名文件 行文件 我需要根据字符串匹配行文件中的整行,并根据列名文件命
我有一个我无法解决的基本 php 问题,我也想了解为什么! $upperValueCB = 10; $passNodeMatrixSource = 'CB'; $topValue= '$uppe
这可能吗? php $variable = $variable1 || $variable2? 如果 $variable1 为空则使用 $variable2 是否存在类似的东西? 最佳答案 PHP 5
在 Perl 5.20 中,for 循环似乎能够修改模块作用域的变量,但不能修改父作用域中的词法变量。 #!/usr/bin/env perl use strict; use warnings; ou
为什么这不起作用: var variable; variable = variable.concat(variable2); $('#lunk').append(variable) 我无法弄清楚这一点
根据我的理解,在32位机器上,指针的sizeof是32位(4字节),而在64位机器上,它是8字节。无论它们指向什么数据类型,它们都有固定的大小。我的计算机在 64 位上运行,但是当我打印包含 * 的大
例如: int a = 10; a += 1.5; 这运行得很完美,但是 a = a+1.5; 此作业表示类型不匹配:无法从 double 转换为 int。所以我的问题是:+= 运算符 和= 运算符
您好,我写了这个 MySQL 存储过程,但我一直收到这个语法错误 #1064 - You have an error in your SQL syntax; check the manual that
我试图在我的场景中显示特定的奖牌,这取决于你的高分是基于关卡的目标。 // Get Medal Colour if levelHighscore goalScore { sc
我必须维护相当古老的 Visual C++ 源代码的大型代码库。我发现代码如下: bIsOk = !!m_ptr->isOpen(some Parameters) bIsOk的数据类型是bool,is
我有一个从 MySQL 数据库中提取的动态产品列表。在 list 上有一个立即联系 按钮,我正在使用一个 jquery Modal 脚本,它会弹出一个表单。 我的问题是尝试将产品信息变量传递给该弹出窗
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between (type)value and type(va
jQuery Core Style Guidelines建议两种不同的方法来检查变量是否已定义。 全局变量:typeof variable === "undefined" 局部变量:variable
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: “Variable” Variables in Javascript? 我想肯定有一种方法可以在 JavaScrip
在语句中使用多重赋值有什么优点或缺点吗?在简单的例子中 var1 = var2 = true; 赋值是从右到左的(我相信 C# 中的所有赋值都是如此,而且可能是 Java,尽管我没有检查后者)。但是,
我是一名优秀的程序员,十分优秀!