私は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;
その後、コードがコンパイルされます。括弧の有無はどのように変化しますか?私は以前にこれに遭遇したことがあり、何が起こっているのか理解できませんでした。何が起こっていますか?