私はC++用のGUIクラスを構築していて、ポインターをたくさん扱っています。呼び出し例:
mainGui.activeWindow->activeWidget->init();
ここでの私の問題は、activeWidgetポインターを別のタイプにキャストしたいということです。 activeWidgetのタイプはGUI_BASEです。BASEから派生したもので、GUI_BUTTONやGUI_TEXTBOXなどの他のクラスがあります。activeWidgetポインターをGUI_BASEからGUI_TEXTBOXにキャストしたいと思います。私はそれがこのように見えると思います:
(GUI_TEXTBOX*)(mainGui.activeWindow->activeWidget)->function();
コンパイラーはポインターがGUI_BASE型であるとまだ考えているため、これは機能していません。ただし、次のコードは機能します。
GUI_TEXTBOX *textbox_pointer;
textbox_pointer = (GUI_TEXTBOX*)mainGui.activeWindow->activeWidget;
textbox_pointer->function();
ここでの私の問題が単なる構文の問題であることを願っています。助けてくれてありがとう :)