c++ - Variable changes value when passed to function? -


i feel idiot. when pass variable function results in strange output 6.2+e003 instead of value variable holds. doing wrong?

the x in main , x in function different?

main:

int x, y;  while(system.windowopen()) {     x++;     y++;     bg.draw2d();     bob.think(x, y);     riley.think(x, y);     system.render(0); } 

class method:

void organism::think(double x, double y) {     std::cout << "x: " << x << "\n";     std::vector<double> food;     food.push_back(x);     food.push_back(y);     std::cout << "vector: " << food[0] << " " << food[1] << "\n";     std::vector<double> path;     if(refresh.istime()) {         std::cout << "\nfood vector: \n" << food[0]                   << "\n" << food[1] << "\n";          path = brian.getoutput(food);           organism.translate2d(path[0], path[1]);          if(organism.isoffscreen2d(resx, resy) == 'l' )             organism.setpos2d(resx, organism.gety());         if(organism.isoffscreen2d(resx, resy) == 'r')             organism.setpos2d(0, organism.gety());         if(organism.isoffscreen2d(resx, resy) == 't')             organism.setpos2d(organism.getx(), resy);         if(organism.isoffscreen2d(resx, resy) == 'b')             organism.setpos2d(organism.getx(), 0);     };      font.drawnumber2d(x, 50, 50);     font.drawnumber2d(y, 50, 100);     organism.draw2d(); } 

both x , y uninitialized here:

int x, y; 

so can hold value, , reading them undefined behaviour. should initialize them:

int x = 0 int y = 0; 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -