这是我第一次真正在这里问过一个问题,所以如果格式化稍微偏离,我会道歉。此外,我在几年内第一次回到编程,所以我生锈了,我很困惑如何为我的结构矢量创建一个getter函数。
assetLoader.h:
public:
assetLoader();
virtual ~assetLoader();
std::vector<assetLoader:playerStruct> getTypesOfPlayer() {return typesOfPlayer;}
private:
//Create a struct to hold the Player data
struct playerStruct
{
};
playerStruct newPlayer;
std::vector <playerStruct> typesOfPlayer;
每当我尝试编译解决方案时,我都会遇到以下错误:
错误:模板参数1无效
错误:模板参数2无效
我已经尝试了几种不同的尝试来自己解决这个问题,但是我还没有成功,所以任何帮助都会受到高度赞赏:)
答案 0 :(得分:2)
您需要转发声明您的playerStruct或之前定义它。
这是你向前宣布的方式:
class assetLoader{
struct playerStruct;
public:
assetLoader();
virtual ~assetLoader();
std::vector<assetLoader::playerStruct> getTypesOfPlayer() {
return typesOfPlayer;
}
private:
//Create a struct to hold the Player data
struct playerStruct
{
};
playerStruct newPlayer;
std::vector <playerStruct> typesOfPlayer;
};