草庐IT

static_warning

全部标签

c++ - 错误 C2220 : warning treated as error - no 'object' file generated

我有以下类(class)classCdata12Mnt{public:charIOBname[ID1_IOB_PIOTSUP-ID1_IOB_TOP][BOADNAM_MAX+4];charExIOBname[ID1_MAX_INF-ID1_EXIOB_U1TOP][BOADNAM_MAX+4];charcflpath[256];charbasetext[256];UINTdatabase[ID1_MAX_INF];intState;public:charSelectPath[256];public:intGetIOBName(intslt,char*Name);Cdata12Mnt(

c++ - 带有 boost : linker(Id) Warning about visibility settings 的 xcode

我一直在为我的iPhoneXcode项目使用下面链接中的boost框架:https://goodliffe.blogspot.com/2010/09/building-boost-framework-for-ios-iphone.html它工作正常,但我总是收到数百个AppleMach-OLinker(id)警告,例如:Directaccessin__ZN5boost15program_options6detail7cmdline24handle_additional_parserERSt6vectorISsSaISsEEtoglobalweaksymbol__ZTVN5boost17

c++ - 带有 boost : linker(Id) Warning about visibility settings 的 xcode

我一直在为我的iPhoneXcode项目使用下面链接中的boost框架:https://goodliffe.blogspot.com/2010/09/building-boost-framework-for-ios-iphone.html它工作正常,但我总是收到数百个AppleMach-OLinker(id)警告,例如:Directaccessin__ZN5boost15program_options6detail7cmdline24handle_additional_parserERSt6vectorISsSaISsEEtoglobalweaksymbol__ZTVN5boost17

c++ - static const double 不能有类内初始化程序。为什么会这样?

以下代码的问题是“constdouble”类型的静态成员不能具有类内初始化程序。为什么仅适用于以下代码中的“constdouble”?请帮帮我。classsample{staticconstcharmc='?';staticconstdoublemd=2.2;staticconstboolmb=true;};constcharsample::mc;constdoublesample::md;constboolsample::mb;intmain(){} 最佳答案 C++03语言标准实现的逻辑基于以下基本原理。在C++中,initia

c++ - static const double 不能有类内初始化程序。为什么会这样?

以下代码的问题是“constdouble”类型的静态成员不能具有类内初始化程序。为什么仅适用于以下代码中的“constdouble”?请帮帮我。classsample{staticconstcharmc='?';staticconstdoublemd=2.2;staticconstboolmb=true;};constcharsample::mc;constdoublesample::md;constboolsample::mb;intmain(){} 最佳答案 C++03语言标准实现的逻辑基于以下基本原理。在C++中,initia

c++ - "static enum"在 C++ 中是什么意思?

我最近遇到了这个:staticenumResponse{NO_ERROR=0,MISSING_DESCRIPTOR,...};它在MicrosoftVS2005下编译和工作。但是,我不确定“静态”修饰符应该做什么。和下面有什么不同吗?enumResponse{NO_ERROR=0,MISSING_DESCRIPTOR,...}; 最佳答案 仅删除省略号的确切代码不是有效的C++。您不能在enum声明中使用static存储类说明符;它在那里没有任何意义(只有对象、函数和匿名union可以声明为static)。但是,您可以在一个声明中声

c++ - "static enum"在 C++ 中是什么意思?

我最近遇到了这个:staticenumResponse{NO_ERROR=0,MISSING_DESCRIPTOR,...};它在MicrosoftVS2005下编译和工作。但是,我不确定“静态”修饰符应该做什么。和下面有什么不同吗?enumResponse{NO_ERROR=0,MISSING_DESCRIPTOR,...}; 最佳答案 仅删除省略号的确切代码不是有效的C++。您不能在enum声明中使用static存储类说明符;它在那里没有任何意义(只有对象、函数和匿名union可以声明为static)。但是,您可以在一个声明中声

c++ - 对非指针类型使用 static_cast 而不是 C 风格的强制转换有什么好处吗?

我很清楚使用static_cast而不是C风格的指针类型转换的优势。如果指针类型不兼容,则:static_cast将在源代码中的特定行产生编译时错误C风格的转换可能会在程序执行的“随机”点导致运行时错误但我找不到任何非指针类型的类似示例。换句话说,两种转换方法对非指针类型产生相同的结果。这是正确的,还是我错过了什么?如果是,static_cast是否仅用于非指针类型以保持编码一致性? 最佳答案 其他两个答案尚未提及的一个优点是static_cast更容易发现。众所周知,括号的含义在C++中被重载,并且很难发现邪恶的(甚至不正确的)强

c++ - 对非指针类型使用 static_cast 而不是 C 风格的强制转换有什么好处吗?

我很清楚使用static_cast而不是C风格的指针类型转换的优势。如果指针类型不兼容,则:static_cast将在源代码中的特定行产生编译时错误C风格的转换可能会在程序执行的“随机”点导致运行时错误但我找不到任何非指针类型的类似示例。换句话说,两种转换方法对非指针类型产生相同的结果。这是正确的,还是我错过了什么?如果是,static_cast是否仅用于非指针类型以保持编码一致性? 最佳答案 其他两个答案尚未提及的一个优点是static_cast更容易发现。众所周知,括号的含义在C++中被重载,并且很难发现邪恶的(甚至不正确的)强

c++ - g++ 中的 "warning: use of old-style cast"

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whenshouldstatic_cast,dynamic_castandreinterpret_castbeused?有了这个C++代码,char*a=(char*)b;我收到警告警告:使用旧式类型转换。新风格的Actor阵容是什么? 最佳答案 reinterpret_cast、static_cast、dynamic_cast和const_cast是c++cast的替代方案。const_cast从const变量中移除const/volatile。dyna