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
 VAX1624, MSVS2005: VA Outline issues
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

MaksKo
New Member

3 Posts

Posted - Dec 19 2007 :  10:15:29 AM  Show Profile  Reply with Quote
VA Outline is very useful and powerful feature, but I have found, that it may work incorrect in some cases. First issue: when I declare friend method in the class. And second: when I use block comment before declaring function.
For instance:

void ff1();
void ff2();

class A
{
public:
    void fa1();
    /***/void fa2();
};

class B
{
public:
    void f2();
    friend void A::fa1();
    friend void A::fa2();
//     friend class A;
};

class C
{
public:
    void f3();
    friend void ff1();
    friend void ff2();
//     friend void A::fa1();
//     friend class A;
};

class D
{
public:
    void f4();
    friend void A::fa1();
};


All classes in this code have the same place in hierarchy, but AV Outline show, that classes C and D are the subclasses for the class B. If we comment following lines:

    friend void A::fa1();
    friend void A::fa2();

in class B or uncomment line

//     friend class A;

VA Outline will work correctly. Note that it happens only with methods of other class but not with the global functions as it it is showed in class C, where Outline works correctly.

The second issue consists in that VA Outline does not show method A::fa2() becouse it think that this is only comment.

I'm sorry for my terrible english.

Thanks

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Dec 19 2007 :  11:21:35 AM  Show Profile  Reply with Quote
Your examples made the problems quite clear, thank you for these

The /* */ comment in front of a function is:

case=10738

Do you really have code like this? I have never placed a comment in front of a function like that before.

The problem with making a class member function a friend function is:

case=10740

zen is the art of being at one with the two'ness
Go to Top of Page

MaksKo
New Member

3 Posts

Posted - Dec 19 2007 :  12:04:43 PM  Show Profile  Reply with Quote
Thanks for quick replay :)

I have used /***/ comment in front of data member only once -- to mark the data, that have special initialisation algorithm and usage. In this case I did not want to use another methods like hungarian notation. /***/ is not rigorous comment, but just a short mark that helps to understand the code.

Thanks a lot!
Go to Top of Page

MaksKo
New Member

3 Posts

Posted - Dec 19 2007 :  12:13:57 PM  Show Profile  Reply with Quote
One more note: if we comment the line

-----------------
public:
-----------------

in class 'B' -- Outline will work correctly
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Apr 10 2008 :  12:52:49 AM  Show Profile  Reply with Quote
case=10740 is fixed in build 1632
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 23 2014 :  2:54:27 PM  Show Profile  Reply with Quote
case=10738 is fixed in build 2036.
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