T O P I C R E V I E W |
schoenherr |
Posted - Jun 27 2006 : 08:20:12 AM CreateImplementation for inline methods creates the implementation in the cpp belonging to the current header file. i would expect, that the implementation of a inline method is located in the header file. |
5 L A T E S T R E P L I E S (Newest First) |
bugfix |
Posted - Jun 27 2006 : 4:02:13 PM case 1: coder want function definition in .h file -> you need "inline"
case 2: using inline in function declaration -> one coder want's definition in .h file others in .cpp file
btw. using inline twice (declaration and definition) is bs, according to c++ spec one should use it either in declaration or in definition. C++STANDARD-ISOIEC14882-2003 page 157:)
-bugfix |
schoenherr |
Posted - Jun 27 2006 : 3:44:01 PM why i'm mixing stuff??? what i mean is: xxx.h: class Cxxx { inline void foo(); } now while selecting "Create Implementation" i would expect at the end of xxx.h inline void Cxxx::foo() { }
and there are no reasons for compiler errors. |
bugfix |
Posted - Jun 27 2006 : 09:51:33 AM Well you're mixing stuff.. if you define a function in .h you need either inline or static else you ll get linker error.
The only exceptions are templates, for templates the defintion has to be in .h file. |
schoenherr |
Posted - Jun 27 2006 : 09:47:11 AM bugfix: you are right but i would suggest that this is also treated as a "vax-hint", because it is most likly that somone who marks a funtion as inline would implement this funtion in the header file (at least all programmers i know do it this way). |
bugfix |
Posted - Jun 27 2006 : 09:23:35 AM inline is a compiler hint, it has nothing to do w/ where the function definition is to be placed. |