1 / 1 / 0
Регистрация: 11.11.2016
Сообщений: 66
1

Ошибка C3867 "нестандартный синтаксис; используйте "&", чтобы создать указатель на член"

02.04.2017, 09:05. Показов 3497. Ответов 5

C++
1
pictureBox1->Invalidate;
Вызывает ошибку C3867.
"System::Windows::Forms::Control::Invalidate": нестандартный синтаксис; используйте "&", чтобы создать указатель на член
Что сделать то нужно? И почему тогда vs сама предлагает так писать и подставляет такой вариант, коли при компиляции выкидывает ошибку?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2017, 09:05
Ответы с готовыми решениями:

Error C3867: "String::length": нестандартный синтаксис; используйте "&", чтобы создать указатель на член
В классе написал такой метод, чтобы посчитать количество символов в строке: int String::length()...

нестандартный синтаксис используйте "&", чтобы создать указатель на член C3867
Нужно определить принадлежность точки прямой, используя классы. Выходит ошибка C3867 на 56 и 69...

"Нестандартный синтаксис, используйте "&", чтобы создать указатель на член"
Ошибка в строке 79: Animals::Show нестандартный синтаксис, используйте "&", чтобы создать...

Не могу создать указатель на функцию. ошибка: нестандартный синтаксис; используйте "&", чтобы создать указатель на член
Выбивает ошибку, когда хочу присвоить переменной адрес какой то функции. Ошибка в строке 28(если...

5
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
02.04.2017, 10:08 2
Лучший ответ Сообщение было отмечено MoonRaiser как решение

Решение

ты же метод вызываешь, поэтому ставь скобочки:
C++
1
pictureBox1->Invalidate();
1
1 / 1 / 0
Регистрация: 11.11.2016
Сообщений: 66
02.04.2017, 10:22  [ТС] 3
rao, а в чем тогда отличие между invalidate и refresh?
0
Администратор
Эксперт .NET
15391 / 12399 / 4939
Регистрация: 17.03.2014
Сообщений: 25,147
Записей в блоге: 1
02.04.2017, 13:26 4
MoonRaiser, ответ есть в документации
Control::Invalidate - Invalidates the entire surface of the control and causes the control to be redrawn.
Control::Refresh - Forces the control to invalidate its client area and immediately redraw itself and any child controls.
Invalidate говорит что отображение элемента устарело и его нужно перерисовать, Refresh говорит что отображение элемента устарело и перерисовывает его.
1
1 / 1 / 0
Регистрация: 11.11.2016
Сообщений: 66
02.04.2017, 13:38  [ТС] 5
OwenGlendower, т.е. invalidate в конечном счетё вызывает refresh? Документацию предварительно читал, но этот вопрос не отпал.
0
Администратор
Эксперт .NET
15391 / 12399 / 4939
Регистрация: 17.03.2014
Сообщений: 25,147
Записей в блоге: 1
02.04.2017, 14:02 6
MoonRaiser, Invalidate не вызывает Refresh. Он только уведомляет ОС что нужно перерисовать окно или его часть. При следующем WM_PAINT (метод Paint) это и произойдет. То есть Refresh это немедленная перерисовка, а Invalidate отложенная.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2017, 14:02
Помогаю со студенческими работами здесь

Нестандартный синтаксис, используйте "&", чтобы создать указатель на член
Здравствуйте,начал изучать классы и вот такая фигня.Кому не сложно,помогите исправить #include...

Поиск в массиве. Ошибка "Оператор "&&" не может применяться к операндам типа "bool" и "double""
Найти номер последнего минимального элемента среди положительных четных элементов, лежащих правее...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов-...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru