草庐IT

标识符

全部标签

C++ cout 给出未声明的标识符

所以,我有这个问题。为什么cout会抛出errorC2065:'cout':undeclaredidentifier我正在使用VisualStudio2012作为IDE,并且正在编写一个学校项目。除了示例文件外,我已经完成了所有工作。所以我想像这样在屏幕上写一些东西:#include"iostream"#include"stdafx.h"usingnamespacestd;intmain(){cout所以问题出在cout上……printf工作正常,但我想使用cout。编辑:我已将""更改为但它没有帮助。此外,我仅使用此代码作为示例...这不是整个项目。 最佳

c++ - 由下划线开头的标识符导致的错误的真实示例

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭5年前。Improvethisquestion有一条规则规定,不应在C或C++中定义或使用以下划线后跟大写字母开头的标识符,例如_Foo。这是因为这些标识符由编译器保留,因此可能会与某些编译器代码冲突并导致未定义的行为。虽然这条规则广为人知并被许多编码标准采用,但我从未在现实生活中见过这条规则可以防止很多损害的情况。有人知道现实生活中违反此规则的例子吗?编辑:我说的是编译和链接正常但因此显示意外行为的代码。

c++ - 标识哪个类提供由重载决策选择的函数的类型特征

考虑以下代码,其中一个仿函数derived继承自两个基类base1和base2,每个基类提供不同的重载://Preamble#include#include#include//Base1structbase1{voidoperator()(int)const{std::coutvoidoperator()(constArg&,Args&&...)const{std::coutvoidcall(F&&f,Args&&...args){std::invoke(std::forward(f),std::forward(args)...);}//Mainintmain(intargc,char

c++ - `typedef enum {} t` 是否允许 C++0x 中的作用域枚举元素标识符?

我相信新的C++标准允许枚举类型有一个额外的“作用域”:enumE{e1,e2};Evar=E::e1;因为我知道很多包含旧C风格枚举类型定义的源文件,我想知道新标准是否允许对这些匿名枚举类型使用类型定义:typedefenum{d1,d2}D;Dvar=D::d1;//error? 最佳答案 新标准将添加一种新型的强枚举,但语法会略有不同,旧式枚举将兼容(C++03中的有效代码将是有效的C++0x代码)因此您将不需要做任何事情来保持遗留代码有效(不是typedef,不是其他任何东西)。enumclassE{e1,e2};//new

c++ - 在类模板定义中使用模板名称代替模板标识

下面的C++代码是否正确?如果是这样,有人可以指出标准中提到这一点的段落吗?似乎可以在模板包含的范围内使用模板名称而不是模板标识,编译器会自动添加模板参数列表。templateclassMana{public:Mana(constMana&m){/*...*/}Mana(){/*...*/}};相对于:templateclassMana{public:Mana(constMana&m){/*...*/}Mana(){/*...*/}};代码使用g++和MSvisualstudio编译。 最佳答案 是的,代码是正确的。(引用:§14.

Lin-Datat*m中的两个paritiy位可以保证在标识符字段中捕获每个错误吗?

Lin-t*m具有由6位组成的框架ID的受保护标识符fild,其次是2位构建两个奇偶校验比特的位。第一个奇偶校验P0这样计算:Bit0XORBit1XORBit2XORBit4第二个奇偶校验P1这样计算:Bit1XORBit3XORBit4XORBit5是否有一种简单的方法可以在Python/Matlab中进行测试?还是一个简单的数学解决方案,即如何知道这种机制可以捕获多少位错误?我不知道这个问题是否真的属于这样,但是我找不到更合适的stackexchange看答案不。例如Bit0XORBit1XORBit2XORBit4Bit1XORBit3XORBit4XORBit5显然,交换位1和4的值

c++ - 为什么标准 C++ 库中的某些标识符很短?

为什么有些C++名称很短,有时很难理解,如strcmp,cout,cin等。但是在Java等其他语言中名字都不短。它能节省时间、内存还是什么? 最佳答案 这主要适用于从C“继承”的标准C++库部分。在C语言的C89之前的标准中,外部标识符的重要部分被限制为6个字符;允许链接器忽略剩余的字符。这就是标准C库将标识符长度限制为6个字符的原因。C++并入了那个库“批发”,连同有些神秘的标识符。 关于c++-为什么标准C++库中的某些标识符很短?,我们在StackOverflow上找到一个类似的

c++ - 编译错误 'nullptr' 未声明的标识符

我正在尝试使用VisualStudio2008Express编译源代码,但出现此错误:ErrorC2065:'nullptr'undeclaredidentifier.我的代码:if(Data==nullptr){show("Dataisnull");return0;}我在Google上读到我应该升级到VisualStudio2010,但由于VisualStudio2008中的IntelliSense,我不想这样做。这可以修复或更换吗? 最佳答案 您遇到的错误是因为编译器无法识别nullptr关键字。这是因为nullptr是在比您正

ios - 自定义 HealthKit HKQuantityType 标识符

我想为HealthKit示例添加新的HKQuantityTypeIdentifiers。我用我感兴趣的类型创建了一个枚举,然后我尝试用HKQuantityType.quantityTypeforIdentifier创建一个属性,但该属性返回nil。我还尝试为我的自定义标识符定义HKQuantityType的扩展,但这也不起作用。请参阅下面的代码。有任何想法吗?enumDistanceType:String{casegpsDistance="GPSdistance"caseactivityDistance="activityDistance"}letdistanceType=HKQuan

ios - 如何在 MKPointAnnotation 中设置标识符

我正在尝试制作很多不同类型的注释。为了美丽的原因,所有注释都需要定制。我知道它需要使用viewForAnnotation,但是我怎么知道是什么类型的annotation?funcaddZoneAnnotation(){letzoneLocations=ZoneData.fetchZoneLocation(inManageobjectcontext:managedObjectContext!)forzoneLocationinzoneLocations!{letzoneCoordinate:CLLocationCoordinate2D=CLLocationCoordinate2D(lat