草庐IT

multiple-interface-implem

全部标签

【vue运行报错】There are multiple modules with names... 报错原因和解决办法

项目场景:Therearemultiplemoduleswithnamesthatonlydifferincasing.项目运行时候报错如下:Therearemultiplemoduleswithnamesthatonlydifferincasing.:有多个模块同名仅大小写不同。Thiscanleadtounexpectedbehaviorwhencompilingonafilesystemwithothercase-semantic.:这可能导致在一些文件系统中产生不是预期的行为。Useequalcasing.:使用唯一的写法。问题描述vue运行时项目报错:Therearemultiple

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的方法来做到这一点?我还想知道是否仅在方

c++ - eclipse CDT : How to manage multiple main() functions in a single C++ project?

我正在开始开发一个由多个模块组成的项目。我将使用专用的测试台验证这些模块中的每一个,每个模块都有它们的main()函数。我想避免为每个测试平台及其main()函数创建一个Eclipse项目。我读到了WorkingSets在我的项目中只显示与特定测试平台相关的文件的想法正是我所寻找的。但是,在构建阶段,Eclipse会继续构建所有项目文件,而不仅仅是当前的工作集文件。然后,由于多个main()函数,我遇到了链接器错误。如何将Eclipse配置为仅构建工作集的文件?是否有另一种方法可以在单个项目中分别构建多个程序,即应用程序及其组件测试平台? 最佳答案

c++ - 静态多态性对实现接口(interface)有意义吗?

祝大家圣诞快乐!我正在学习静态多态性,并且正在阅读AndreiAlexandrescu关于基于策略的设计的优秀书籍。我在我的代码中遇到了以下情况:我有接口(interface)Interface指定方法Foo必须存在。该接口(interface)将由Impl类实现。我有以下两个选择:1)动态多态classInterface{public:virtualvoidFoo()=0;}classImpl:publicInterface{public:voidFoo(){};}2)静态多态classImpl{{public:voidFoo(){};}templateclassInterface:

c++ - 将公共(public)接口(interface)与实现细节分开

我必须设计一个Font类,该类将具有跨平台或不同库(例如Win32GDI或FreeType)的多个实现。所以基本上会有单个共享头文件/接口(interface)文件和多个.cpp实现(在构建时选择)。我宁愿保持公共(public)接口(interface)(头文件)不受任何实现细节的影响,但这通常很难实现。字体对象必须拖动某种私有(private)状态-如GDI中的句柄,或内部的FreeType面部对象。在C++中,跟踪私有(private)实现细节的最佳方法是什么?我应该在实现文件中使用静态数据吗?编辑:发现这篇关于该主题的精彩文章:SeparatingInterfaceandImp

c++ - 将 make_shared 与 protected 构造函数 + 抽象接口(interface)一起使用

给定一个抽象接口(interface)和一个从该接口(interface)派生的实现,其中构造函数受到保护(只能从类工厂创建这些对象-以实现DI模式),我如何在工厂函数中使用make_shared?例如:classIInterface{public:virtualvoidMethod()=0;};classInterfaceImpl:publicIInterface{public:virtualvoidMethod(){}protected:InterfaceImpl(){}};std::shared_ptrCreate(){std::shared_ptrobject=std::mak