Author |
Topic |
|
thruska
Ketchup Master
71 Posts |
Posted - Aug 24 2006 : 02:27:49 AM
|
I have two functions in a class with the same name, different number of parameters, and different return types. Here are the prototypes (part of the BString class):
BString fread(size_t Num); int fread(BString &Result, size_t Num);
VAX only displays the latter one in both hover and edit modes. If I turn off VAX, the normal Intellisense correctly displays both prototypes in both hover and edit modes. I don't use fread() very often as it is a CPU-intensive function.
Best guess is that VAX is either confused about 'fread' as a function name in a class or returning a class from a function or some combination of the two.
Didn't test this with 1446 to see if it is a problem there.
|
Thomas Hruska CubicleSoft President http://www.cubiclesoft.com/ |
|
thruska
Ketchup Master
71 Posts |
Posted - Aug 24 2006 : 03:45:07 AM
|
Just ran into a similar scenario with a different class. This time, however, the prototypes are as follows:
int Create(SInt32, SInt32); int Create(SInt32, SInt32, const SomeClass &);
VAX picks up just the latter function for both hover and edit modes. Default Intellisense picks up both in edit mode but doesn't display a hover tooltip. 'SomeClass' and this class are both part of a wrapper/parent class:
class ParentClass { public: class SomeClass { public: ... };
class MyClass { public: ... int Create(SInt32, SInt32); int Create(SInt32, SInt32, const SomeClass &); ... }; };
I'm now stumped as to why this is a problem because the name 'Create' isn't a global function and the class isn't being self-referenced. This could be part of the same issue (number of parameters with same name affects display) or it could be totally unrelated (i.e. both could be separate issues).
NOTE: The main .cpp file being parsed by VAX in this case is about 1.4MB in size. The header file is 300K. I don't know if that's important, but figured I'd mention it anyway. |
Thomas Hruska CubicleSoft President http://www.cubiclesoft.com/ |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Aug 26 2006 : 3:08:39 PM
|
when you say VA does not pick up both functions, what do you mean? is one of the functions missing from a completion listbox - the listbox you get after CTRL-SPACE. is one of the functions missing when you call the function and are typing in the parameters, so that only one overload is listed.
or are you looking at something else? |
zen is the art of being at one with the two'ness |
|
|
thruska
Ketchup Master
71 Posts |
Posted - Aug 28 2006 : 4:11:31 PM
|
I'm not so sure that this is a problem anymore. I've introduced too many variables into the equation. After writing this I disabled the "Allow Acronyms" option which, in turn, rebuilt the cache and lot of problems simply disappeared and I'm not sure why. Since I just upgraded to 1533, I'll do some more testing again. |
Thomas Hruska CubicleSoft President http://www.cubiclesoft.com/ |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Aug 28 2006 : 4:15:24 PM
|
upgrading to 1533 will have triggered a rebuild of the symbol database. if you start running into odd effects again then the more details you can provide the better |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|