Полагаю, я чего-то не понимаю в C ++:
У меня есть этот код:
#include "window.h"
int main(int argc, char* argv[]) {
Gtk::Main kit(argc, argv);
window win();
Gtk::Main::run(win);
return EXIT_SUCCESS;
}
'window' - это класс, который наследуется от Gtk :: Window с пустымконструктор.Когда я пытаюсь скомпилировать этот код, я получаю эту ошибку:
no matching function for call to ‘Gtk::Main::run(window (&)())
Однако, если я изменю строку:
window win();
на
window win;
затемкод компилируется.Как наличие / отсутствие скобок меняет положение вещей?Я сталкивался с этим раньше и никогда не понимал, что происходит.Что происходит?