Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Forward declaration of classes
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

eco
Tomato Guru

102 Posts

Posted - Apr 18 2006 :  03:56:07 AM  Show Profile  Reply with Quote
if I write this:

//------------------------------------
// somewhere in a .h file

class classB; // this is a legal forward declaration

// my class
class classA
{
public:
classB* pcls;
};

//------------------------------------
// somewhere else in another .h file
class classB
{
// class implementation
};




//------------------------------------
//
void main( )
{
classA a;
classB b; // ***** see below
}


***** if I click on GoTo classB,
then I VA send me to the forward declaration and not on the class implementation. this is not the case of a friend declaration, but I won't declare all my classes as friend for VA.


rhummer
Tomato Guru

USA
527 Posts

Posted - Apr 18 2006 :  11:19:31 AM  Show Profile  Reply with Quote
What version of VA X are you using and what IDE?

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

eco
Tomato Guru

102 Posts

Posted - Apr 19 2006 :  02:43:36 AM  Show Profile  Reply with Quote
Sorry,
I'm using build 1445 under vc2003 but the problem exist since a long time

VA_X.dll file version 10.2.1445.0 built 2006.04.12
Licensed to:
VA X: xxxxx
VA.NET 7.1:
VA 4.1:
VAOpsWin.dll version 1.3.2.4
VATE.dll version 1.0.4.15
DevEnv.exe version 7.10.3077.0
msenv.dll version 7.10.3077.0
Font: Courier New 13(Pixels)
Comctl32.dll version 5.82.2900.2180
WindowsNT 5.1 Build 2600 Service Pack 2
2 processors

Platform: Custom
Stable Includes:
c:\\program files\\microsoft visual studio .net 2003\\vc7\\include;
c:\\program files\\microsoft visual studio .net 2003\\vc7\\PlatformSDK\\include\\prerelease;
c:\\program files\\microsoft visual studio .net 2003\\vc7\\PlatformSDK\\include;
c:\\program files\\microsoft visual studio .net 2003\\sdk\\v1.1\\include;

Library Includes:

Other Includes:

Go to Top of Page

jpizzi
Tomato Guru

USA
642 Posts

Posted - Apr 19 2006 :  10:51:58 PM  Show Profile  Reply with Quote
Copying and pasting your example code into a new project in VS 2003 with VA 1444, I do not see the behavior you are describing. Does it do this for you in a new project with the sample code you have?

Interestingly, I do not even have to include the .h file in main.cpp for it to work (although, of course, it won't compile that way).

Are the mentioned header files in your project?

Joe Pizzi
Go to Top of Page

eco
Tomato Guru

102 Posts

Posted - Apr 20 2006 :  03:10:44 AM  Show Profile  Reply with Quote
Hi,
If i paste this code in a new empty project with only one .cpp file, it does the same.
(you can forget the 2 comment lines at the top, even in one file this is reproductible)
I can reproduce this on all the 6 machines that get Va X .

the exact description is that if i click on the keyword classB in the main function and i click on GoTo VA send me on line 4 (class classB; // this is a legal forward declaration)

Our project is nearly 1.000.000 lines of code and for us it's a big problem.

I can reproduce this with 1444 & 1445 versions.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18941 Posts

Posted - Apr 24 2006 :  6:35:47 PM  Show Profile  Reply with Quote
i am seeing the same thing, using VS2003 and VA 1445, simply placing all of the code into a single file.

the good news is that this seems to be fixed (i cannot reproduce this) in the 15xx builds of VA. these are currently working their way towards a beta release.

hopefully these versions will fix this for you as well.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000