Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 C++11 =delete;

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
HarryStorbacka Posted - Apr 04 2017 : 04:18:26 AM
Hi,

It seems constructors with C++11 �=delete� are still suggested in the function parameter popup. I'd expect them not to be listed there, since the constructor has explicitly been marked as deleted.

The constructor is defined as follows:

public:
MyClass(const MyClass& other) = delete;

Also constructors declared private are shown in the suggested parameters popup.

It would be nice to get a fix for this, because the illegal option often shows up first in the suggestions and requires navigating the menus each time to see the desired overloads parameters.

(This happens with the latest version of Visual Assist X)
3   L A T E S T    R E P L I E S    (Newest First)
accord Posted - Apr 05 2017 : 6:56:03 PM
This is what I'm seeing with VA 2212 and VS2013 update 5:



So either Update 5 makes the difference, or maybe the source code is not enough to repro the issue. Are you seeing the issue with this code on your computer?
HarryStorbacka Posted - Apr 05 2017 : 02:17:38 AM
I'm using visual studio 2013 update 4, and had also "Default Intellisense" as source of C/C++ content. I seem to get the same behavior also when using Visual Assist as the source of C/C++ content.

Good to know upgrading to vs2017 would fix this - Thanks!
feline Posted - Apr 04 2017 : 10:11:06 AM
How are you using this class? Using VS2017 with VA 2212, I have the following test code:

class testDeleteConstructor
{
public:
	testDeleteConstructor(const testDeleteConstructor &rhs) = delete;
	void publicMember();
private:
	void privateMember();
};


void testUsingDelete()
{
	testDeleteConstructor testDel;
	testDel.|
}


when typing the dot, where the caret is marked, only the single public method for the class comes up in the listbox. I also have the setting:

VA Options -> Enhanced Listboxes -> Source of C/C++ content: Default Intellisense

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000