草庐IT

Specifier

全部标签

c++ - 从抽象基类 : does override specifier have any meaning? 实现纯虚函数

背景我刚刚偶然发现了overridespecifier的一个用例据我所知,这似乎是多余的,也没有任何特定的语义含义,但也许我遗漏了一些东西,因此出现了这个问题。在继续之前,我应该指出我已经尝试在SO上找到它的答案,但我得到的最近的是以下线程,并没有真正回答我的查询(也许有人可以指出实际上已经回答了我的问答问题)。C++Virtual/PureVirtualExplainedC++overridepurevirtualmethodwithpurevirtualmethod问题考虑以下抽象类:structAbstract{virtual~Abstract(){};virtualvoidfo

C++ 对于哪些类型,参数类型名称可以与带类型说明符的参数名称相同?

抱歉,这个问题需要解释一下。我正在修复doxygen解析一些C++代码时的疏忽,我遇到了一个doxygen没有考虑的不寻常的极端情况。我有一个修复程序,但我想让它更通用,所以我需要一些解释。为了说明doxygen失败的情况,我将定义一个涉及辛普森一家的人为示例(因为这似乎很适合这类问题)。假设我们有以下枚举:enumsimpson{HOMER,MARGE,BART,LISA,MAGGIE};现在我们想将枚举值传递给一个方法(自然属于Simpsons类),如下所示:constchar*voicedBy(simpsonsimpson){switch(simpson){caseHOMER:r

c++ - 外部关键字 "missing type specifier"

我正在使用VisualC++Express创建一个DLL,并且在声明时externValveInterfaces*VIFace在Required.h中,编译器告诉我ValveInterfaces没有定义。(我想将VIFace暴露给任何文件,包括Required.h)这是我的文件结构:DLLMain.cpp#include"Required.h"//requiredheaderfiles,suchasWindows.handtheSDKValveInterfaces*VIFace;//therestofthefileRequired.h#pragmaonce//includeWindow

c++ - 最令人烦恼的解析是否带有合格的 id?

考虑:structFoo{enum{bar};explicitFoo(int){}};structBaz{explicitBaz(Foo){}};Bazb(Foo(Foo::bar));//#1即使Foo::bar是一个qualified-id并且不可能是一个有效的参数名称,第1行是最令人烦恼的解析吗?ClangandGCCdisagree;哪个编译器是正确的? 最佳答案 Clang是对的。有点令人惊讶的是,parameter-declaration的语法允许qualified-和unqualified-id,因为它接受所有声明符:

C++ 错误 : Expected a type specifier

当我尝试像这样使用LoggerStream时,我得到“需要一个类型说明符”:constLoggerStreamlogger(L"测试组件");这是我尝试使用LoggerStream的地方:#include"Logger.h"#include"TestComponent.h"namespaceophRuntime{structTestComponent::TestComponentImpl{private:LoggerStreamlogger(L"TestComponent");NO_COPY_OR_ASSIGN(TestComponentImpl);};TestComponent::T

c++ - 警告 : function uses 'auto' type specifier without trailing return type

下面的代码给出了下面的警告。有人可以解释原因吗(请注意代码没有用,因为我用int替换了我的类型来制作一个完整的示例)。警告:“MaxEventSize()”函数使用“auto”类型说明符而没有尾随返回类型[默认启用]想法是获取特定结构的最大大小(类型位于int所在的位置)。templateconstexprTcexMax(Ta,Tb){return(a 最佳答案 auto返回类型“没有尾随返回类型”是C++14的一个特性,所以我想你正在编译C++11。您的代码适用于C++14,但对于C++11,如果您想使用auto作为返回类型,您需

c++ - "missing type specifier"构造函数声明错误

我在2个不同的文件中有2个类:正则矩阵.h:#ifndef_RM_H#define_RM_H#include"SparseMatrix.h"...classRegMatrix{...RegMatrix(constSparseMatrix&s){...}//ctor...};#endif稀疏矩阵.h:#ifndef_SM_H#define_SM_H#include"RegMatrix.h"...classSparseMatrix{...SparseMatrix(constRegMatrix&r){...}//ctor...};#endif在构造函数行上我得到了错误:错误C4430:缺少类

c++ - 函数参数列表中的类声明

据我所知,在C++中,在函数参数列表中声明的类会自动进入封闭范围:voidf(structA*p){}voidg(){A*p;f(p);}相当于:structA;voidf(A*p){}voidg(){A*p;f(p);}C++标准中的哪一部分规定了这种行为?C呢?嗯,我想在这种情况下C不遵循C++。VisualStudio不编译此代码是C模式:voidg(structA{inta;}a);structAa;//'a'usesundefinedstruct'A' 最佳答案 这是一个精心设计的类型说明符。C++14中的相关引用是:[b

c++ - 编译器错误 C4430 : missing type specifier - int assumed

这个问题在这里已经有了答案:Resolvebuilderrorsduetocirculardependencyamongstclasses(12个答案)关闭8年前。我有这个错误:“错误C4430:缺少类型说明符-假定为int。注意:C++不支持default-int”使用此代码示例://A.h#include"B.h"classA{B*b;..};//B.h#include"A.h"classB{A*a;//errorerrorC4430:missingtypespecifier-intassumed.};

vite3 + vue3 + pinia 配置 CDN 后打包部署后出现 Failed to resolve module specifier “vue“ 报错处理

参考文章:pinia踩坑总结报错分析在项目中使用到了pinia,其中vue配置了CDN,开发环境下一切正常,部署后报了如下的错误:Failedtoresolvemodulespecifier"vue".Relativereferencesmuststartwitheither"/","./",or"../".随后我关闭了CDN,再次部署,报错就没了,难道问题出在了CDN配置上?但是,当我继续使用CDN,通过配置2个不同的路由页面,一个页面使用了pinia,另一个页面不使用pinia时,发现不使用pinia的页面是可以进行路由跳转的,使用了pinia的页面依然报错导致路由无法跳转,所以问题应该还