你好,我对C ++还是一个新手,更多的是SFML。我想知道在这个特定于矢量的例子中我是否可以通过值/参考未命中匹配传递。 以下似乎不起作用,我不知道为什么。
道歉,如果一个简单的例子,基于这里的内容。 id而不是粘贴项目代码的任何其他功能,因为它可能使我的查询更难理解。
-----类范围全局变量,以前都在类构造函数中初始化,没有问题
string t1Path, t2Path, t3Path, t4Path, t5Path;
vector<string> texturePaths = {t1Path, t2Path, t3Path, t4Path, t5Path};
sf::Texture t1, t2, t3, t4, t5;
vector<sf::Texture> textures = {t1, t2, t3, t4, t5};
//更新不起作用
void updateTexturePaths(vector<string>& tPathsRef) {
// or this ? texturePaths = tPathsRef;
for (size_t i = 0; i < textures.size(); i++) {
texturePaths[i] = tPathsRef[i];
}
}
playerPtr->updateTexturePaths(playerPtr->idlingRSpritePaths);
但如果我在功能外部执行此操作,并且不使用/调用它可以正常工作的功能,我是否根据此处的代码不理解某些内容?
playerPtr->t1Path = playerPtr->idlingRSpritePaths[0];
playerPtr->t2Path = playerPtr->idlingRSpritePaths[1];
playerPtr->t3Path = playerPtr->idlingRSpritePaths[2];
playerPtr->t4Path = playerPtr->idlingRSpritePaths[3];
playerPtr->t5Path = playerPtr->idlingRSpritePaths[4];
非常感谢,如果有人试图回答这个问题。