So I'm making a game and its getting quite elaborate now, but I have a small problem.
On windows, the code in the picture (linked at end of post) functions just fine: If there's a reference to the map, use it. If not, attempt to get it and then hopefully it'll be fixed on the next frame.
However, when compiling this with the GCC compiler on GNU Linux, this causes a segfault. It is when ANY of the functions called on the _map pointer are attempted, not just this one. A fix for this problem is getting the map reference every frame and then using it, but obviously this is wasteful. Are there any additional checks I can do on the _map pointer to ensure that it is functional?
Thanks
>>343538
>>343538
if(whatever) just means "if whatever isn't zero, do this:".
It's not testing if it's a valid object, it's just testing if it's zero or not.
If null has been assigned to it, the standard says it's equal to zero, but if nothing has ever been assigned to it at all, your code is basically equivalent to if(rand()) {_map-->snapToMap..... .
Either use calloc, or explicitly zero your pointer array.
>>343552
Oh right! Thankyou! So I should specifically set the pointer to NULL if this is to work as intended?
It is after all, only the first iteration of this call that fails, but its ensuring that it does detect it is NULL that is important.
I'll look into calloc as well, thanks
>>343538
Obvious advice here, but make sure you're using g++; gcc is only a C compiler. (I'm aware GCC is more than gcc, g++, etc)