AS
Size: a a a
AS
AS
D
AS
D
TS
DB
N+
class A{
float getPosY();
void somefunc(int,bool,float);
private:
float posY;}
float Y
getPos
имеет значение 10
for(...){
A* apple = apples[i];
.
.
.
if(...){
apple->somefunc(z, x, apple->getPosY) //здесь Y равен 10
}
}
Y=0
VS
class A{
float getPosY();
void somefunc(int,bool,float);
private:
float posY;}
float Y
getPos
имеет значение 10
for(...){
A* apple = apples[i];
.
.
.
if(...){
apple->somefunc(z, x, apple->getPosY) //здесь Y равен 10
}
}
Y=0
getPosY()
возвращает void
?N+
getPosY()
возвращает void
?SH
N+
SH
SH
N+
///////main///////
//инициализация//
sf::Vector2f position;
position = sf::Vector2f(viewSize.x, viewSize.y*0.75f);
//инициализация//
for (int j = 0;j<apples.size();j++){
Apple* apple = apples[j];
if(check(tree->getX(), apple->getX(), true)){
std::cout << apple->getPos().y <<std::endl;
apple->somefunc(dt, apple->getSomeBool(), apple->getPos().y);
}
//Здесь y = 10
///////main///////
//////apple.h/////
class Apple
{
public:
Apple();
~Apple();
sf::Vector2f getPos();
private:
sf::Vector2f position;
};
//////apple.h/////
/////apple.cpp////
sf::Vector2f Apple::getPos(){
return position;
}
void Apple::somefunc(float dt, bool b, float f){
int a;
printf("Y:%f", f); //Здесь y = 0
if(f - sprite.getTextureRect().height <= sprite.getTextureRect().top)
a=-speed;
else
if(!b)a=speed;
sprite.move(0, a*dt);
}
/////apple.cpp////
M
///////main///////
//инициализация//
sf::Vector2f position;
position = sf::Vector2f(viewSize.x, viewSize.y*0.75f);
//инициализация//
for (int j = 0;j<apples.size();j++){
Apple* apple = apples[j];
if(check(tree->getX(), apple->getX(), true)){
std::cout << apple->getPos().y <<std::endl;
apple->somefunc(dt, apple->getSomeBool(), apple->getPos().y);
}
//Здесь y = 10
///////main///////
//////apple.h/////
class Apple
{
public:
Apple();
~Apple();
sf::Vector2f getPos();
private:
sf::Vector2f position;
};
//////apple.h/////
/////apple.cpp////
sf::Vector2f Apple::getPos(){
return position;
}
void Apple::somefunc(float dt, bool b, float f){
int a;
printf("Y:%f", f); //Здесь y = 0
if(f - sprite.getTextureRect().height <= sprite.getTextureRect().top)
a=-speed;
else
if(!b)a=speed;
sprite.move(0, a*dt);
}
/////apple.cpp////
printf("Y:%f,", f);
N+
printf("Y:%f,", f);
N+
float f;
*((float*)&f) = apple->getPos().y;
apple->somefunc(dt, apple->getSomeBool(), f);
ПК
float f;
*((float*)&f) = apple->getPos().y;
apple->somefunc(dt, apple->getSomeBool(), f);
N+