Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 08-01-2004, 12:28 PM
krusher
Sarnak
 
Join Date: Jan 2003
Location: Grand Rapids, MI
Posts: 90
Default Compile warnings.

Hello all.

Im having an issue during compile. Was wondering if anyone knew how to handle this or is this something not to worry about.

ie: c:\EqEmu Files\Source\EQEMu-07-31-04\zone\mob.h(545) : warning C4172: returning address of local variable or temporary
embxs.cpp

This is one of many.

Thanks

Krusher
Reply With Quote
  #2  
Old 08-01-2004, 02:31 PM
DeletedUser
Fire Beetle
 
Join Date: Sep 2002
Posts: 0
Default

Its complaining that values aren't predefined in the .h file, you would have to find where the variable was initiated and set a default value.
Reply With Quote
  #3  
Old 08-01-2004, 02:45 PM
krusher
Sarnak
 
Join Date: Jan 2003
Location: Grand Rapids, MI
Posts: 90
Default

Thanks image. Now i know where to start looking.


Krusher
Reply With Quote
  #4  
Old 08-02-2004, 06:44 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

Actually,

It is complaining because the function is defined as retruning a reference to a variable, and it is returning a local variable. The local variable technically does not exist once the function returns, because it is out of scope. So you are returning a reference to a variable which does not exist from the perspective of the caller.

inline const bool& IsRooted() { return rooted || permarooted; }

there is no reason this function should return a reference, as doing an assignment on the returned value dosent make any sense (besides the fact that it is const), and that is the reason to return a reference.

simple fix is:
inline const bool IsRooted() { return rooted || permarooted; }
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 08:37 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3