草庐IT

class_id

全部标签

c++ - 我如何在wxWidgets中通过id获取一个widget?

我对C++和wxWidgets很陌生。wxTextCtrl*text=newwxTextCtrl(panel,SOME_ID);我的问题是如何通过ID获取该文本控件。我想在不同的范围内改变它的值(value)。我是否需要保留指向每个可能更改其状态的小部件的指针,或者是否有办法从其ID获取该指针?这可能是一个简单的问题,但我想我找不到正确的搜索词来找到答案。 最佳答案 您可能需要静态函数wxWindow::FindWindowById.它返回一个普通的wxWindow指针,因此您必须将它转换为您的示例的wxTextCtrl指针。

C++ 从父类(super class)调用子类方法

我有以下风格的代码:classSubClass;classSuperClass;classSuperClass{private:voidbar(){SubClass().foo();}};classSubClass:SuperClass{public:voidfoo(){};};所以基本上我有一个父类(superclass),我想从中调用子类的方法foo()。VS2012给我以下错误:错误1​​errorC2514:'SubClass':类没有构造函数。错误2errorC2228:'.foo'的左侧必须有类/结构/union。我想做的事情的正确结构是什么?

c++ - 将 QUrl 传递给 QNetworkRequest 构造函数会导致 "non-class type"编译器错误

当我将QUrl传递给QNetworkRequest构造函数时,我从编译器中得到了奇怪的错误。更奇怪的是它只发生在特定的情况下,举个例子:#include#includeintmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);QStringstr;QNetworkRequestreq(QUrl(str));req.setUrl(QUrl(str));//error:requestformember'setUrl'in'req',whichisofnon-classtype'QNetworkRequest()(QUrl)'QNet

c++ - 为什么 sizeof(this - id) 返回 8?

我的代码中有一个非常愚蠢的拼写错误...is.read((char*)&this->id,sizeof(this-id));在this-之后缺少>字符有趣的是sizeof(this-id)返回了8!我的想法是...因为this是一个指针,对this做减法将导致另一个指针被id的值关闭,它可以是任何东西取决于id的值。还有...在64位系统上,指针通常是8个字节!我说的对吗?还是遗漏了什么?下面是我的类(class)。classIndexItem:publicSerializable{public:IndexItem(uint32_tid,std::streampospos):id(id

c++ - 不完整类型 'class Ui::dialog 的使用无效(QT 错误)

我想制作一个带有按钮的简单QT主窗口以打开第二个窗口或对话框。我从字面上遵循了QT链接“在您的应用程序中使用设计器UI文件”中的步骤,并遵循了单一继承示例。但是QT给出了4个错误,您将在下面看到一个快照。现在,我所做的是在Qt设计器中创建一个主窗口,然后我将第二个窗体添加到项目中,这将是单击按钮时的第二个对话框窗口。因为我手动创建了表单“mydialog.ui”,所以我添加了类“mydialog.h和mydialog.cpp”,并将“ui-mydialog”的标题放在源文件“mydialog.cpp”中。我不确定我错过了什么?代码如下:-mydialog.h#ifndefMYDIALO

c++ - 使用 C++ 的 OpenGL : vtable troubles when passing class array to glTexImage2d

我用floatr、floatg、floatb、floatalpha创建了一个类Color。它有一个带有虚拟析构函数的基类。我正在尝试将Color数组传递给opengl函数glTexImage2D,其中GL_RGBA组织类型为float(这将是一个数组{floatr,floatg,floatb,floatalpha}).这要求Color仅包含4个float(16字节大小)。但是,sizeof(Color)显示我的类有一个20字节的大小,因为Color的基类有一个vtable,感谢析构函数。如何保留我的vtable并将我的Color数组传递给glTexImage2D?

C++ 中的 Javas Class<?> 等价物

所以我正在学习C++并想编写一个实体组件系统。为此,当我将组件添加到实体时,我需要知道组件的类型。在Java中,我只会做这样的事情:ClasssomeClass=myComponent.class;我可以在C++中做一些等效的事情吗?我尝试了typeid(myComponent),但在这种情况下不起作用。ExtComponent*extended=newExtComponent();Component*base=dynamic_cast(extended);std::cout这会返回“classComponent”,但我想要在这种情况下返回“classExtComponent”的东西。

C++ 模板 : cannot match the last template in variadic class template

我正在学习C++11可变参数模板并创建了一个模板结构来计算给定列表的最大数量并尝试了:#include#includetemplatestructmax:std::integral_constantb?max::value:max::value)>{};templatestructmax:std::integral_constantb?max::value:max::value)>{};templatestructmax:std::integral_constant{};intmain(){std::cout::value但是g++提示:test.cc:7:58:error:wrong

c++ - 有没有办法获取我的 C++ 应用程序的进程 ID?

有没有办法获取我的C++应用程序的进程ID?我使用的是Carbon框架,但不是Cocoa…… 最佳答案 您可以使用unistd.h中的getpid()函数吗?osxreference 关于c++-有没有办法获取我的C++应用程序的进程ID?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/41676/

c++ - 菱形多态继承 : sizeof Most derived Class

我知道菱形继承会导致歧义,可以通过virtualBaseClasses使用继承来避免,问题不在于此。当类是多态时,问题是关于菱形层次结构中最派生类的大小。这是示例代码和示例输出:#includeusingnamespacestd;classBase{public:virtualvoiddoSomething(){}};classDerived1:publicvirtualBase{public:virtualvoiddoSomething(){}};classDerived2:publicvirtualBase{public:virtualvoiddoSomething(){}};cl