草庐IT

c# - 'MyClass' 的类型初始值设定项抛出异常

以下是我的Windows服务代码。当我调试代码时,出现错误/异常:Thetypeinitializerfor'CSMessageUtility.CSDetails'threwanexception.usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.ServiceProcess;usingSystem.Text;usingSystem.IO;usingSyst

c++ - char b[] 的初始值设定项太多

这是摩尔斯电码程序。我得到了toomanyinitializersforcharb[]的错误。我怎样才能摆脱这个错误?#includeusingnamespacestd;intmain(){chara[72]={'A','a','B','b','C','c','D','d','E','e','F','f','G','g','H','h','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','Q','q','R','r','S','s','T','t','U','u','V','v','W','w','X','x

c++ - 字符数组的初始值设定项字符串太长错误

我正在使用C++开发BlackJack游戏,其中有以下代码出现错误typedefstruct{intvalue;charsuit[8];charname[8];}Deck;DeckCards[52]={{1,"Ace","Hearts"},{2,"Two","Hearts"},{3,"Three","Hearts"},{4,"Four","Hearts"},{5,"Five","Hearts"},{6,"Six","Hearts06"},{7,"Seven","Hearts"},{8,"Eight","Hearts"},{9,"Nine","Hearts"},{10,"Ten","He

c++ - 将数字从字符串流转换为具有设定精度的字符串

我想从stringstream中获取一个数字并将其设置为5位有效数字。我该怎么做呢?到目前为止,这是我设法想出的:doublea=34.34566535std::stringstreamprecisionValue;precisionValue.precision(6)但是,这不是编译。谢谢。 最佳答案 它不能编译因为ios_base::precision()返回streamsize(它是一个整体类型)。您可以使用streammanipulators:precisionValue您需要包含.

c++ - 在类的构造函数初始值设定项中填充 std::array

有没有办法在类的构造函数初始值设定项中填充std::array?现在我正在长途填充它:classMatrix3x3{//...private:std::array_indicies;};//...Matrix3x3::Matrix3x3(doublem00,doublem01,doublem02,doublem10,doublem11,doublem12,doublem20,doublem21,doublem22):_indicies(){_indicies[0]=m00;_indicies[1]=m01;_indicies[2]=m02;_indicies[3]=m10;_indic

c++ - 琐碎的默认构造函数应该在这里尊重默认成员初始值设定项吗?

考虑代码:#include#includestructstru{inta{};intb{};};intmain(){std::atomicas;autos=as.load();std::cout请注意,尽管stru具有默认成员初始值设定项,但自C++14起,它仍然有资格作为聚合类型。std::atomic有一个简单的默认构造函数。按照标准,as的成员是否应该初始化为零?clang6.0.0不这样做(参见here),而gcc7.2.0似乎如此(参见here)。 最佳答案 严格来说,我认为这两个编译器都是正确的,因为您的程序表现出未定义

c++ - 成员初始值设定项的顺序

这个问题在这里已经有了答案:InitializationOrderofClassDataMembers(2个答案)关闭5年前。下面的代码给出了正确的输出,如果我声明变量i和j,比如inti,j;classA{inti,j;public:A(intval):i(val),j(i+1){cout但是如果我声明变量i和j,比如intj,i;。然后j打印垃圾值。classA{intj,i;public:A(intval):i(val),j(i+1){cout那么,是否取决于变量声明的顺序?

c++ - std::make_pair 与 C++11 统一初始值设定项

使用后者有缺点吗?std::make_pair是更通用/更兼容还是它们真的可以互换?谢谢! 最佳答案 它们有什么关系?使用初始化列表构造函数不适用于一对,因为pair是异构类型的,而初始化列表构造函数使用initializer_list,它仅可用于检索同类类型的初始化列表。(查看规范,它真的应该称为“初始化列表构造函数”,而不是“初始化列表构造函数”。你真的是指第一个吗?如果不是,你指的是什么?)。如果你只是指初始化一个std::pair使用初始化列表反对使用std::make_pair并使用auto,我觉得两者都可以。autop=

c++ - const 引用的默认参数中使用的统一初始值设定项

这是合法的c++0x语法吗?classA{public:voidsome_function(conststd::set&options={});//notethatthisislegal,whichbindstheconstreferencetoatemporary:voidsome_function(conststd::set&options=std::set());}因为如果是这样,我刚刚在GCC4.6中发现了一个错误。我得到的错误是:error:expectedprimary-expressionbefore'{'token这是……合乎逻辑的……如果它是非法的。更新:正如@Ker

objective-c - NSManagedObject 的自定义初始值设定项

根据文档:Youshouldnotoverrideinit.YouarediscouragedfromoverridinginitWithEntity:insertIntoManagedObjectContext:您应该改为使用awakeFromInsert或awakeFromFetch。如果我只想将某些属性设置为当前日期或类似日期,这很好,但如果我想发送另一个对象并根据其信息设置属性怎么办?例如,在名为“Item”的NSManagedObject子类中,我想要一个initFromOtherThing:(Thing*)thing,其中项目的名称设置为事物的名称。我想避免“只需要记住”每