News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

Bug on function prototype

Started by chameleon, June 06, 2011, 02:04:25 AM

Previous topic - Next topic

chameleon

I doesn't use the nightly build of CodeBlocks but I found this error:
The same function prototype appears 2 times (a little bit changed)

ollydbg

can you give a simple test code?
From my guess, I think that this is because these two function prototypes has different signatures.

const class circleArc2 *c, const Vector & v
const circleArc2 *c, const Vector & v

But why the "class" keyword was exists in the function signature??

did you use 10.05 official version?


If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

nanyu

As far as I know, CC is not smart enough to do it for. For example: If I declare some member methods like:
///////////////////////////
class Coo
{
    int foo1(int a, int b);
    int foo2(char const*);
    int foo3(int age /* some comment*/, int b);
};
///////////////////////////

and defind those methods like:

int Coo::foo1(int a
       , int b)   //b start on a new line
{}

int Coo::foo2(const char* p)
{}

int Coo::foo3(int age, int bbb)
{}


then all of those function will appears 2 times on the tips windows.


oBFusCATed

nanyu: you should be punished and humiliated in public for writing such code :lol:
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

nanyu

#4
Quote from: oBFusCATed on June 06, 2011, 04:49:56 PM
nanyu: you should be punished and humiliated in public for writing such code :lol:

no, no, no.....
look at the first sample:

I am used to add the comments of it's parameters when declare a function :

int foo1(int aaa  //comments of aaa
             , int bbb   //comments of bbb
             , char const* ccc //comments of ccc
             , Coo const* ddd  //comments of ddd
             );


But  a clear version for imp :

int foo1(int aaa, int bbb, char const* ccc, Coo const* ddd)
{
}


I thinks it was not a hard thing that cc do a filtting.

oBFusCATed

This is a bug, no question about it :)
Apparently CC in its current implementation doesn't strip the names of the parameters.

But your code is ugly, too (don't answer me, I'm joking, trolling :lol: )
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

ouch

hey now, be nice... I write code comments on everything like that too. Expecially stuff I'm debuging I'll comment bits out with /* */. Keeping things readable is  what syntax highlighting is for after all. :p