Re: cannot convert 'SDL_DisplayMode' to 'SDL_DisplayMode*
Clangray <[email protected]> Wed, 08 Feb 2017 18:56:42 -0500
| Newsgroups | gmane.comp.lib.sdl |
|---|---|
| Message-ID | <1486598202.3100218.875029632.45C88E2C@webmail.messagingengine.com> |
I made the exact changes; still getting errors:
.\src\gobot.cpp:15:45: error: 'dm' has not been declared
int gobot( int * horizontal, int* vertical, dm )
^
..\src\gobot.cpp: In function 'int gobot(int*, int*, int)':
..\src\gobot.cpp:18:18: error: 'dm' was not declared in this scope
* horizontal = dm->w;
--
Gray Family
[email protected]
On Tue, Feb 7, 2017, at 09:11 PM, Brian Puthuff wrote:
> Your .H function declaration (prototype) for gobot and your .CPP
> function need to have the same arguments and return types.
> If your goal is to pass horizontal and vertical and dm into the
> function, and then store the display mode's width and height data into
> horizontal and vertical respectively, then you need to have the
> function take in pointers to horizontal and vertical. Then in your
> function definition, deference your pointers and store the values
> obtained by dm. Hopefully that makes sense.
>
>
> Code:
>
>
> int horizontal = 0;
> int vertical = 0;
> SDL_DisplayMode dm;
> cout<<"Gobot call:";
> gobot(&horizontal, &vertical, &dm);
>
>
> In your .CPP Definition:
>
> int gobot( int* horizontal, int* vertical, SDL_DisplayMode* dm )
> {
> //SDL_GetDesktopDisplayMode(0, &dm);
> *horizontal = dm->w;
> *vertical = dm->h;
> return 0;
> }
> In your .H Declaration
> int gobot( int* horizontal, int* vertical, SDL_DisplayMode* dm );
>
> On Tue, Feb 7, 2017 at 5:20 PM, speartip
> <[email protected]> wrote:
>> __
>> Hi,
>>
>> I am struggling with some pretty straight forward c/c++ & SDL code.
>> But I am not feeling the straightforwardness of it though. I don't
>> know if its a c++ issue or SDL. I try to call SDL fx code from an
>> external .cpp/.h. I am trying to make these reusable and to release
>> main from clutter. Everything runs smoothly until the second block:
>>
>>
>>
>>
>>
>> Code:
>>
>>
>>
>> int horizontal = 0;
>> int vertical = 0;
>> SDL_DisplayMode dm;
>> cout<<"Gobot call:";
>> gobot(horizontal, vertical,&dm);
>>
>>
>>
>>
>>
>>
>>
>> Code:
>>
>>
>>
>> #ifndef GOBOT_CPP_
>> #define GOBOT_CPP_
>>
>> #include "SDL.h"
>> #include "gobot.h"
>>
>>
>> int gobot( int &horizontal, int &vertical, &dm )
>> {
>> //SDL_GetDesktopDisplayMode(0, &dm);
>> horizontal = dm->w;
>> vertical = dm->h;
>> return 0;
>> }
>> //cout<<"Resolution: x = "<__
>>
>>
>> Code:
>>
>>
>>
>> #ifndef GOBOT_H_
>> #define GOBOT_H_
>> #include"SDL.h"
>>
>> int SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode
>> * dm);
>> int gobot(int horizontal, int vertical, SDL_DisplayMode * dm);
>>
>> #endif /* GOBOT_H_ */
>>
>>
>>
>>
>> error:
>> *In function 'int SDL_main(int, char**)': ..\src\SpearTip.cpp:50:35:
>> error: cannot convert 'SDL_DisplayMode' to 'SDL_DisplayMode*' for
>> argument '3' to 'int gobot(int, int, SDL_DisplayMode*)'
>> gobot(horizontal, vertical, dm);*
>>
>> Thanks
>>
>> _______________________________________________
>> SDL mailing list
>> [email protected]
>> http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
>>
> _________________________________________________
> SDL mailing list
> [email protected]
> http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
_______________________________________________
SDL mailing list
[email protected]
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org