Author |
Topic |
|
BrianCBecker
New Member
4 Posts |
Posted - Aug 19 2006 : 5:02:50 PM
|
Hi,
I noticed that VA doesn't seem to support changing the signitures of overloaded functions. I did a quick search on the forums and didn't see anything about it, so here goes:
Let's say you have this class:
class Test123 { void calculate(double a1); int calculate(double a1, int b0); };
I want to change the signiture of the second calculate to this:
class Test123 { void calculate(double a1); int calculate(double a1, int b0 = 0); };
If I click "Change signiture" on the second calculate function, I get this window:
Which contains the signiture of the first calculate function. If I try to put in the signiture I want:
int calculate(double a1, int b0 = 0);
I get:
class Test123 { int calculate(double a1, int b0 = 0); int Test123::calculate(double a1, int b0 /*= 0*/) };
Definitely not what I want.
Info is as follows:
VA_X.dll file version 10.3.1532.0 built 2006.08.10 VAOpsWin.dll version 1.3.3.6 VATE.dll version 1.0.5.8 DevEnv.exe version 8.0.50727.42 msenv.dll version 8.0.50727.42 Font: Courier New 12(Pixels) Comctl32.dll version 6.0.2900.2180 Windows XP 5.1 Build 2600 Service Pack 2 Single processor
Platform: Win32 Stable Includes: C:\\Program Files\\Microsoft DirectX SDK (April 2006)\\Include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\PlatformSDK\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\PlatformSDK\\common\\include; C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\include; C:\\Program Files\\wxWidgets-2.6.3\\include; C:\\MATLAB6p5\\extern\\include; C:\\Program Files\\wxWidgets-2.6.3\\include\\msvc; C:\\Program Files\\Microsoft Platform SDK\\Include; C:\\Program Files\\Microsoft Platform SDK\\Samples\\Multimedia\\DirectShow\\Common; C:\\Program Files\\Microsoft Platform SDK\\Samples\\Multimedia\\DirectShow\\BaseClasses; C:\\Program Files\\wxWidgets-2.6.3\\contrib\\include; C:\\Program Files\\WMSDK\\WMFSDK95\\include; C:\\Downloads\\jit\\froofyjit-0.20.tar\\froofyjit; C:\\Downloads\\jit\\lightning-1.2.tar\\lightning-1.2;
Library Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\crt\\src;
Other Includes:
Thanks!
Sincerely, Brian C. Becker @ www.BrianCBecker.com |
|
BrianCBecker
New Member
4 Posts |
Posted - Aug 19 2006 : 5:25:54 PM
|
Hi,
Correction to previous post: Because I forgot a semi-colon at the end of the second calculate function, the change signiture results are different, but still wrong:
class Test123 { int calculate(double a1, int b0 = 0); int calculate(double a1, int b0); };
Notice that the first calculate function has been changed, not the first.
Sincerely, Brian C. Becker @ www.BrianCBecker.com |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Aug 20 2006 : 4:41:50 PM
|
currently this is a known limitation. VA does not currently "know" which overload you are talking about, and cannot reliably find both its definition and implementation. you will get the same problem with alt-g, where VA asks you which item you want.
we are hoping to handle this eventually, but i am not sure when this will happen.
i have added a case for this, to make it a bit easier to track this.
case=2164 |
zen is the art of being at one with the two'ness |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Aug 21 2006 : 10:56:20 PM
|
Just as a side note, I don't believe your code will work. You have created two functions that are overloaded only on return type, since the second parameter is optional. |
Joe Pizzi |
|
|
|
Topic |
|
|
|