草庐IT

c++ - 在 Doxygen 中记录回调类型定义

我有以下类型定义:typedefvoid(__cdecl*tCallback)(constchar*Message);我如何使用Doxygen正确记录?我想记录tCallback和预期的参数。一个简单的例子:///\typedeftesttypedeftestbool在doxygen中产生正确的输出//typedeftCallbacktypedefvoid(__cdecl*tCallback)(constchar*Message);产生:C:/test.cpp:2:warning:Found';'whileparsinginitializerlist!(doxygencouldbeco

c++ - 从纯抽象基类继承 typedef

编辑:发现duplicate我已将一些问题代码缩减为最简单的工作案例以说明以下内容:我在纯抽象基类中的typedef未被派生类继承。在下面的代码中,我想继承system_ttypedef到ConcreteTemplateMethod:#include//pureabstracttemplate-methodtemplate//T==AnalyzerclassTemplateMethod{public:typedefTsystem_t;virtualvoidfn(constsystem_t&t)const=0;};templateclassAnalyzer{public:voidTemp

c++ - 我如何强类型定义非原始类型?

观察下面的程序,其中一个函数接受预期的类型和作为该类型的typedef的任何类型。//auserdefinedtypeclassWidget{};//afunctionthattakesaWidgetvoidfunction(Widgetw){}intmain(){//makeatypedef(thisisC++11syntaxforatypedef.It'sthesamething)usingGadget=Widget;//makethetwo"differenttypes"(well..they'renotreallydifferentasyouwillsee)Widgetw;Ga

c++ - 固定宽度整数类型是否保证是标准内置类型的 typedef?

是来自的类型(例如int16_t、uint_fast64_t、int_least8_t)保证为typedefs表示其中一种内置类型,例如short,unsignedlong等等?或者是否允许实现使用非通常内置类型的类型来实现固定宽度类型? 最佳答案 不,至少对于类型intN_t不是。这些类型保证具有二进制补码表示(根据C997.18.1.1,C++11和C++14引用)。标准整数类型不必是二进制补码。C11相对于C99也有重要的变化(实际上只是bugfix),强调上面的一点:7.20.1.1/3:However,ifanimplem

c++ - 在 C 和 C++ 中解析 typedef

我正在尝试自动解析任意C++或C项目中的typedef。因为一些typedef是在系统头文件中定义的(例如uint32),我目前正试图通过在我的代码文件上运行gcc预处理器然后扫描预处理文件来实现这一点对于typedef。然后我应该能够替换项目代码文件中的typedef。我想知道,是否还有另一种可能更简单的方法,我想念。你能想到一个吗?我想这样做的原因:我正在使用不同的工具从C/C++项目中提取代码指标。指标是基于方法的。提取指标后,我必须合并由不同工具生成的数据。问题是,其中一种工具可以解析typedef,而其他工具则不能。如果有用于方法参数类型的typedef,我会将指标映射到不同

c++ - 从参数包中获取 typedef

我有一个这种形式的结构:templatestructX{usingvalue=T;};我将其中一个或多个传递给这样的模板函数:templatevoidFunc(Ts...ts);我真正想要的是显式列出X并将函数参数类型设为T的value。我该怎么做? 最佳答案 以下对我有用。templatestructX{usingvalue=T;};templatestructY{usingvalue=T*;};templatevoidFunc(typenameTs::value...ts){}intmain(){Func,Y>(10,nullp

c++ - 声明如何与自身冲突?

这是我在尝试编译一些使用taucs的代码(不是我的代码)时遇到的错误:.../taucs/src/taucs.h:554:error:conflictingdeclaration‘typedefstructtaucs_ccs_matrixtaucs_ccs_matrix’.../taucs/src/taucs.h:554:error:‘taucs_ccs_matrix’hasapreviousdeclarationas‘typedefstructtaucs_ccs_matrixtaucs_ccs_matrix’什么?自相矛盾?在我捏了捏自己之后,我创建了一个测试header并放入了一个

c++ - 模板类中的 Typedef 不起作用

我对以下代码有疑问:templateclasslamePtr{public:typedefU*ptr;};templateclasssmarterPointer{public:voidfunFun(){typedeflamePtrsomeType;someType::ptrquery;}};如你所见,我在lamePtr中有一个typedef。在smarterPointer类中,我有一个函数funFun()。我想做的是制作另一个typedefsomeType。直到那一行,一切正常,直到我们到达带有someType::ptr查询的那一行。我希望这里发生的是“查询”将变为lamePtr::p

c++ - C 与 C++ 中的 struct 和 typedef

我目前正在使用C++IDE来处理需要在C上运行的内容,并希望确保以后不会遇到问题。制作以下结构后:typedefstructtest{inta;intb;};然后我使用创建它的一个实例testmy_test;然后像my_test.a=5等等...这在我的VStudioC++中运行良好。这以后会在gcc上工作吗?我阅读了弹出的相关问题(我发现我也不是第一个提出此类问题的人)但似乎没有人按照我的方式使用。其实typedefstruct{//stuff}test;和我的版本有什么区别? 最佳答案 typedefstructTHIS_IS_

c++ - c++ 元编程中的 typedef 与公共(public)继承

免责声明:问题与Inheritanceinsteadoftypedef完全不同到目前为止我找不到任何类似的问题我喜欢玩C++模板元编程(主要是在家里,我有时会在工作中轻率地介绍它,但我不想让程序只对那些不费心去学习它的人可读),但是我一直每当出现问题时,编译器错误就会完全消除。问题是当然c++模板元编程是基于模板的,因此,无论何时您在深度嵌套的模板结构中遇到编译器错误,您都必须在10行错误消息中挖掘自己的方法。我什至习惯于在文本编辑器中复制/粘贴消息,然后缩进消息以获得一些结构,直到我了解实际发生的事情,这增加了一些跟踪错误本身的工作。据我所知,问题主要是由于编译器及其输出typede