一直在玩sfml和游戏编程一段时间,但我“期待一个表达”
这是我的代码 .h文件
#include <SFML\Graphics.hpp>
using namespace std;
class TileSet
{
public:
TileSet(int firstTile, int tileWidth, int Tileheight, string filename );
sf::Texture* GetTileSet() const;
int FirstTileNo();
int TilesCount();
private:
sf::Texture tileset;
int firstTileNo;
int tilesCount;
};
.cpp文件
#include "TileSet.h"
TileSet::TileSet(int firstTile, int tileWidth, int tileHeight,
string filename):firstTileNo(firstTile)
{
tileset.loadFromFile(filename);
int tilesInWidth = tileset.getSize().x / tileWidth;
int tilesInHeight = tileset.getSize().y / tileHeight;
tilesCount = tilesInWidth * tilesInHeight;
}
sf::Texture* TileSet::GetTileSet() const
{
return tileset* ;
}
错误指向“return tileset *;”声明
答案 0 :(得分:1)
Wimmel的评论是正确的。您需要将tileset*;
更改为&tileset;
这将返回指向您tileset
的指针
编辑:
应该是return &(const sf::Texture)tileset;
,但我不确定这是不是你想要的。我不是C ++专家,const正确性不是我的强项,所以我可能会对const正确性做更多的研究,以确保你真正想要的是什么。