草庐IT

win_class

全部标签

c++ - "class"在构造函数中意味着什么?

我看到了这个构造函数:MyClass(classMyOtherClass*=0){}class关键字是什么意思?构造函数是否采用MyOtherClass指针并将参数默认为空指针? 最佳答案 这是一个前向声明。MyOtherClass在此上下文中使用之前不必定义,因此前向声明就足够了。=0是参数的默认值。不需要完整定义的情况的头脑转储:成员(member)指南成员推荐方法参数类型方法返回类型比较以下内容://MyClass.hclassMyClass{MyClass(MyOtherClass*=0){}//doesn'tcompile

c++ - OpenCV SVM 在火车上抛出异常, "Bad argument (There is only a single class)"

我卡在这个了。我正在尝试通过OpenCV特征2d框架进行一些对象分类,但在训练我的SVM时遇到了麻烦。我能够提取词汇表并使用BowKMeansTrainer对它们进行聚类,但在我从训练数据中提取特征以添加到训练器并运行SVM.train方法后,出现以下异常。OpenCVError:Badargument(Thereisonlyasingleclass)incvPreprocessCategoricalResponses,file/home/tbu/prog/OpenCV-2.4.2/modules/ml/src/inner_functions.cpp,line729terminatec

c++ - Win32 LB_GETTEXT 返回垃圾

我有一个问题,这很可能是一个简单的问题,但对我来说仍然是一个问题。我在Win32/C++中使用列表框,当从我的列表框中获取选定的文本时,返回的字符串只是垃圾。它是结构或类似结构的句柄?下面是我得到的代码和示例。std::stringListbox::GetSelected(){intindex=-1;intcount=0;count=SendMessage(control,LB_GETSELCOUNT,0,0);if(count>0){index=SendMessage(control,LB_GETSEL,0,0);}returnGetString(index);}std::strin

c++ - 语句 "a class is an object even if not instantiated"是什么意思?

我是一名学习Ruby的C++程序员。在一本初学者书中,我读到:“一个类本身就是一个对象,即使您不直接实例化它也是如此。”我不知道怎么解释。 最佳答案 在C++中,除了typeid等,类没有语言可见的运行时表示。你可以说classFoo{};,但你不能说&Foo。(您可以获取typeinfo对象的typeid/地址,它是类对象的SCSS版本)。在Ruby中,类是对象。任何你能用一个对象做的事情,你都可以用一个类来做,因为它是一个对象。例如,在Ruby中,您可以foo.send(...)到任何对象foo。由于类是一个对象,因此您也可以使

c++ - 添加虚拟删除错误 : type 'base' is not a direct base of derived class

考虑以下示例代码:#includeusingnamespacestd;classbase{public:base(){cout这给出了错误:error:type`base'isnotadirectbaseof`derived2'为什么会出现这个错误?如果我将基类设为虚拟,则错误不再存在。这是什么原因? 最佳答案 因为base不是derived2的直接基类。您必须为您的直接基础提供构造函数,在本例中为derived1。虚拟基地除外。它们总是在叶类中初始化,否则您可能会为同一个基类调用多个构造函数。因此,如果您使base成为虚拟的,您不

c++ - 为什么我的编辑控件在不使用 MFC 的 win32 c++ 应用程序中看起来很奇怪?

我有这个程序,我在其中创建了一个窗口,并在其中使用普通C(没有MFC或对话框)添加了一个编辑控件,编辑控件创建代码如下hWnd=::CreateWindowExA(NULL,//noextendedstyle"EDIT",NULL,//notitleWS_CHILD|WS_VISIBLE|WS_BORDER,x,y,Width,Height,hWndParent,(HMENU)id,(HINSTANCE)GetWindowLong(hWndParent,GWL_HINSTANCE),//themoduleinstanceNULL);但是渲染出来的控件看起来很难看...这就是我希望我的控

c++ - 什么是 _WIN32_WINNT,它是如何工作的?

编辑2:好的,所以我更改为包含“winnt.h”的OrwellDevC++,其中包含#defineKEY_WOW64_64KEY0x0100但它仍然无法正常工作。(引用编辑1:)编辑1:我查看了CodeBlock和DevC++中的“winnt.h”,而DevC++缺少以下几行:#if(_WIN32_WINNT>=0x0502)#defineKEY_WOW64_64KEY0x0100#defineKEY_WOW64_32KEY0x0200#endif而把上面的代码放在DevC++的wint.h中是不行的。原帖:我有一个32位应用程序(在DevC++和Windows764位中开发),它读取

c++ - Win32 项目生成 MFC 错误

我正在VisualStudio2010中处理Win32项目。它正在生成MFC错误,错误如下所示errorC1189:#error:BuildingMFCapplicationwith/MD[d](CRTdllversion)requiresMFCshareddllversion.Please#define_AFXDLLordonotuse/MD[d]IntelliSense:#errordirective:WINDOWS.Halreadyincluded.MFCappsmustnot#include我的问题是为什么WIN32项目会产生MFC错误,我应该如何消除这个错误,请指导我

c++ - CRTP 静态多态性 : Using the Base Class to Call Derived Methods

C++中virtual的主要好处之一是能够使用基类(指针或引用)调用派生方法。我正在阅读usingCRTPtoimplementstaticpolymorphism,但我不明白如何使用这种技术实现上面提到的内容,因为当需要模板时,我无法将函数声明为采用Base类型。在我看来,文章中描述的内容可以通过简单地使用函数重载来实现,所以我确信这种技术一定有更多。(PS:在对thisquestion的回答的评论中提到了这个确切的问题,但不幸的是没有人回复它:“vtables真正提供的是使用基类(指针或引用)来调用派生方法。你应该在这里展示它是如何用CRTP完成的。”)这是我的最小代码,它给出了错

c++ - 为什么我不能将 std::unique_ptr 用作 "template<class> class"参数?

这段代码:#includetemplateclassPtr>classA{Ptrints;};usingB=A;产生以下错误(使用GCC6.3):a.cpp:6:28:error:type/valuemismatchatargument1intemplateparameterlistfor‘templateclassPtr>classA’usingB=A;^a.cpp:6:28:note:expectedatemplateoftype‘templateclassPtr’,got‘templateclassstd::unique_ptr’现在,我可以像这样解决这个问题:templateu