![](/img/trans.png)
[英]What if a constructor parameter has the same name as a member variable in C++?
[英]Error calling member function as constructor parameter “Variable is not a type name”
我想将本地实例的成员 function 的 output 作为构造函数的参数传递。 我正在使用 SFML 库。
球.h
Ball(sf::Vector2f _dvelocity, sf::Vector2f _position, sf::Vector2f _origin, sf::Texture _texture, float _dvmagnitude )
{
dvelocity = _dvelocity;
position = _position;
sprite.setTexture(_texture);
sprite.setOrigin(_origin);
dvmagnitude = _dvmagnitude;
}
主文件
sf::RenderWindow window(sf::VideoMode(640, 480), "Pong");
sf::Event event;
sf::Texture pongTexture;
pongTexture.loadFromFile("frost mage.PNG");
Ball ball(sf::Vector2f _dvelocity(), sf::Vector2f _position(), window.getSize(), pongTexture, 1);
该错误是由 main.cpp 最后一行中的“window.getSize()”触发的。 我的调试器显示“window 不是类型名称”。
该错误是由您的构造函数定义引起的,您在其中使用sf::Vector2f _origin
参数,然后window.getSize()
返回sf::Vector2U
。 尝试将您的参数更改为sf::Vector2U _origin
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.