T O P I C R E V I E W |
jon12345 |
Posted - Sep 21 2006 : 02:39:53 AM Firstly I'd like to say thanks to Wholetomato and Sean for fixing the previous bug so quickly.
I have another possible issue to do with macros. Here is how I think it can be reproduced.
1) Place the following in a header file which is outside of the solution that is currently loaded: #define TEST static void foo();
2) #include that header in a CPP file in the current solution.
3) In the CPP file, insert the following code: struct MyClass { TEST };
4) When you try to use "MyClass::", Intellisense does not suggest foo() as a possible option.
5) Intellisense works as it should if the macro is in the CPP.
--------------
The second issue has to do with static functions. For example, if a struct has:
struct MyStruct { static void foo(); void bar(); };
and the user types "MyStruct::", both foo() and bar() are suggested, even though foo() is the only valid option.
Additionally, if the user types "MyStruct xyz; xyz.", both foo() and bar() are suggested, even though arguably statics shouldn't really be called from an object instance.
Thanks
|
3 L A T E S T R E P L I E S (Newest First) |
sean |
Posted - Sep 24 2006 : 8:56:05 PM second issue first part: case=2685 second issue second part: case=2686 |
jon12345 |
Posted - Sep 22 2006 : 07:55:37 AM Yes, I think you have reproduced the first problem correctly.
Regarding the second issue, I think correcting the first part would be a definite improvement to Visual Assist, as Intellisense is suggesting options that won't compile. Can I suggest this as a feature request?
With regard to the second part, I think most people would agree that statics shouldn't be called from object instances. For example, C# disallows it. (A checkbox in Visual Assist options could always allow it if anyone disagreed.)
|
sean |
Posted - Sep 22 2006 : 04:40:26 AM I am seeing a problem similar to the first - if I modify an external header in a separate editor before I open the IDE, the change is not picked up by VA. Once I edit the file in the IDE, VA suggests foo() for MyClass::. Is this true for you? case=2652
The second two issues both have merit - though when something is arguable there's a can of worms waiting to be opened.
|
|
|