草庐IT

default-interface-member

全部标签

C++ 错误 : request for member '...' in 'grmanager' which is of non-class type 'GraphicsManager'

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我的类GraphicsManager出现错误。图形管理器.cpp:#include"C:\Users\ChrisUzzolina\Desktop\obj\include\GraphicsManager.h"#include#includeGraphicsManager::GraphicsManager(intSCREEN_WIDTH,intSCREEN_

c++ - 为什么 C++ 不让基类实现派生类的继承接口(interface)?

这就是我要说的//someguywrotethis,usedasaPolicywithtemplatesstructMyWriter{voidwrite(std::vectorconst&data){//...}};在一些现有的代码中,人们没有使用模板,而是接口(interface)+类型删除classIWriter{public:virtual~IWriter(){}public:virtualvoidwrite(std::vectorconst&data)=0;};其他人想要同时使用这两种方法和写作classMyOwnClass:privateMyWriter,publicIWri

python - WindowsError 异常访问冲突 - 在简单的 python c++ ctypes 接口(interface)中

我有一个非常简单的测试用例,我无法开始工作,我正在尝试使用ctypes将c++与python连接起来。我在使用double时遇到错误,在这种情况下尝试在C++中使用“cout”。错误是:WindowsError:exception:accessviolationwriting0x.....问题出在以下c++代码的cout行:#include"testgeo.h"#includeTestGeo::TestGeo():td_(0),ti_(0){std::cout它具有以下header(testgeo.h),包括一个外部C部分:classTestGeo{public:TestGeo();~

c++ - 嵌套命名空间 : where should default template arguments go? 中模板类的前向声明

我在嵌套命名空间中有一个模板类的前向声明namespacen1{namespacen2{templatestructA;}usingn2::A;}接着是一个定义,实际上它在不同的文件中,中间有一些东西:structX{};namespacen1{namespacen2{templatestructA{};}usingn2::A;}那么以下总是可以的:n1::n2::Aa;但是这个捷径n1::Aa;在clang中给出编译错误error:toofewtemplateargumentsforclasstemplate'A'除非我删除前向声明;g++两者都接受。clang似乎保留在第一个不包含

c++ - 将 `std::default_delete` 专门化为 `std::shared_ptr`

我有这样的想法:namespacestd{templateclassdefault_delete{public:voidoperator()(IplImage*ptr)const{cvReleaseImage(&ptr);}};};typedefstd::shared_ptrIplImageObj;我没有真正找到太多信息是否支持我专门化default_delete以及shared_ptr是否也默认使用default_delete。它的工作方式与Clang5.0.0的预期一致。那么,支持吗?如果STL实现有不同的内部命名空间怎么办?那它不会找到我的声明吗?但它应该会在声明中出错。

c++ - 如何将 std::unique_ptr<T> 与返回 int 的接口(interface)一起使用?

我想将open/closePOSIXAPI包装到一个RAII兼容对象中,例如std::unique_ptr。但是open函数返回一个int(即不是HANDLE,它是指向void的指针),并且我不确定如何将std::unique_ptr模板类与int一起使用。有人可以帮帮我吗? 最佳答案 真的,您想要的只是让close(intfileHandle)为您管理,对吗?为什么不创建一个带有为您调用close()的析构函数的简单C++类?我认为这就是您要寻找的行为。std::shared_ptr,friend只处理用new创建的堆指针,会调用

c++ - 静态多态性 : How to define the interface?

下面是我理解的静态多态性的一个非常简单的例子。我不使用动态多态性的原因是我不想阻碍op中PROCESSOR函数的内联。templatevoidop(PROCESSOR*proc){proc->doSomething(5);proc->doSomethingElse();}intmain(){ProcessorYpy;op(&py);return0;}这个例子的问题是:没有明确定义PROCESSOR必须定义什么函数。如果缺少一个,你只会得到一个编译错误。我认为这是不好的风格。它还有一个非常实际的缺点:IDE的在线帮助当然不能向您显示该对象上可用的功能。定义PROCESSOR的公共(pub

c++ - 接口(interface)和实现设计结构?

我对用C++设计大型程序还很陌生。我正在编写一系列操作,每个操作都有自己的类,这些类将由ProcessMgr类调用。我正在使用ProcessMgr作为接口(interface)类,可以从中调用每个操作:classProcessMgr{private:classOperationOne;classOperationTwo;classOperationThree;}classProcessMgr::OperationOne{public:...};classProcessMgr::OperationTwo{public:...};classProcessMgr::OperationThre

c++ - 通过COM将自定义接口(interface)类型的SAFEARRAY返回给VB6

是否可以从C++COM函数(VC6)向VB6客户端返回一组已定义的接口(interface)对象?我已经在网上搜索过,但没有找到任何描述我需要做什么的内容。我已经看到很多传递BSTR和VARIANT类型,但我需要一些方法让客户端实际使用我在数组中返回的接口(interface)类型。我认为我需要做的事情-使用安全阵列-使用具有VT_UNKNOWN类型的SAFEARRAY,这反过来意味着我需要将对象作为IUnknown对象放入数组中。从这里开始我就难住了。是否可以在VB6中解释IUnknown类型,并以某种方式将其转换为我需要的类型?还是我以完全错误的方式解决这个问题......澄清:放

c++ - 如何为 COM 接口(interface)中的方法生成弃用警告 (c++)

在我工作的地方,我们使用的是“类COM”模型,因为我们通常遵循COM规则,但不执行MIDL编译,也不针对c/c++以外的其他语言。因此,我知道我总是可以改变规则以满足我的需要,但我尽量不这样做,因为我们可能希望有一天能够真正兼容COM,如果那一天到来,我们希望它尽可能轻松。我想在任何人使用特定接口(interface)的特定方法编译代码时打印警告。在c++中(我们只支持微软编译器),我们会在函数声明前加上__declspec(deprecated)来达到我们的目的。我可以只将它添加到我的接口(interface)方法声明之前,还是有更好、更COM的方法来做到这一点?我还想知道是否仅在方