草庐IT

cat_name

全部标签

C++ 编译错误 - 命名空间 std 中的 "no type named ' 函数”

我正在为我的C++编程类(class)作业,其中涉及实现HashMap。我的导师给了我们一个头文件,我们需要将其与我们的HashMap类一起使用。提供的头文件包含以下行:typedefstd::functionHashFunction;根据我对C++的(有限的)理解,这会将HashFunction类型定义为std::function。但是,当我编译代码时,出现错误:./HashMap.h:46:15:error:notypenamed'function'innamespace'std'typedefstd::functionHashFunction;~~~~~^./HashMap.h:

C++ 宏之谜 : Printing the name of the TYPE

在宏中,我可以使用xxxx_##TYPE和##TYPE##_xxxxx来正确填写TYPE名称,但我不能在字符串中间使用##TYPE##,例如(打印“##TYPE##是类型的名称”;)有解决办法吗? 最佳答案 您可以通过结合两个特征来做到这一点。一种是“字符串化”,即通过在宏参数前加上#前缀将其转换为字符串。(这与您显然已经熟悉的“标记粘贴”运算符##相关但不同。)另一个事实是,当连续给定多个字符串文字时,C++会将它们组合起来成一个字符串。例如,"a""b""c"等同于"abc"。我不清楚你的宏到底是如何定义的,所以我不能告诉你要输

c++ - ISO/IEC 10646 中的 "character short name"是什么?

C++112.3/2说:Thecharacterdesignatedbytheuniversal-character-name\UNNNNNNNNisthatcharacterwhosecharactershortnameinISO/IEC10646isNNNNNNNN所以我下载了ISO/IEC10646,但我找不到“字符短名称”的定义。有人可以澄清一下这是指什么吗?我最初的目标是找出为什么在使用\U指定代码点时需要8个十六进制数字,因为6个数字总是足够的。所以我也很想知道为什么C++11指定我们使用\UNNNNNNNN而不是\UNNNNNN。 最佳答案

c# - 如何通过禁用 Name Mangling 来调用实例方法

给定foo.dll中的以下c++类classa{private:int_answer;public:a(intanswer){_answer=answer;}__declspec(dllexport)intGetAnswer(){return_answer;}}我想要来自C#的pInvokeGetAnswer。为此,我使用以下方法:[DllImport("foo.dll",CallingConvention=CallingConvention.ThisCall,EntryPoint="something")]publicstaticexternintGetAnswer(IntPtrth

c++ - syntax::function_name 在 C++ 中是什么意思?

在名为::foo()的函数中,我不明白语法的用途。如果它是foo::count_all()那么我知道count_all是类或命名空间foo的函数。在::foo()的情况下,::引用的是什么? 最佳答案 ::运算符正在调用namespace或class。在您的情况下,它正在调用全局命名空间,它是不在命名空间中的所有内容。下面的例子说明了为什么namespace很重要。如果您只是调用foo(),您的调用将无法解析,因为有2个foo。您需要使用::foo()解决全局问题。namespaceHidden{intfoo();}intfoo()

C++ 编译错误枚举 "does not name a type"

以下代码:foo.h#include"bar.h"classfoo{public:enummy_enum_type{ONE,TWO,THREE};foo();~foo(){}};foo.cppfoo::foo(){inti=bar::MY_DEFINE;}酒吧.h#include"foo.h"classbar{public:staticconstintMY_DEFINE=10;foo::my_enum_typevar;bar(){};~bar(){};};让g++编译器提示my_enum_type“没有命名类型”。为什么?所有header都有多个包含定义(为清楚起见,此处未显示)。谢谢

C++ : Read a file name from the command line and utilize it in my file

如何从命令行读取文件名并在我的C++代码文件中使用它?例如:./cppfileinputFilenameoutputFilename非常感谢任何帮助! 最佳答案 intmain(intargc,char**argv){stringinFile="";stringoutFile="";if(argc==3){inFile=argv[1];outFile=argv[2];}else{cout 关于C++:Readafilenamefromthecommandlineandutilizeiti

1分钟教会你创建自己的 Chia Asset Tokens (CATs)

1.背景知识:gitclonehttps://github.com/Chia-Network/chia-blockchain.git-bmain--recurse-submodulescdchia-blockchainshinstall.sh../activatechiainitchiastartnodechiastartwallet3)安装CATadmintoolsudoapt-getinstall-ybuild-essentialpython3-devgitclonehttps://github.com/Chia-Network/CAT-admin-tool.git-bmain--recu

Linux连接合并文件内容(cat命令)

cat命令可以显示文本内容,也可以把几个文件内容附加到另一个文件中,即连接合并文件。cat是concatenate(连接、连续)的简写。cat命令基本格式如下:cat【选项】文件名cat文件1文件2>文件3这两种格式中,一是用于显示文件的内容,常用选项如下表;二是用于连接合并文件。cat命令常用选项及含义选项含义-A相当于-vET选项的整合,用于列出所有的隐藏符号-E列出每行结尾的回车符-n对输出的所有行进行编号-b同-n不同,此选项表示只对非空行进行编号-T把Tab键^-V列出特殊字符-s当遇到有连续2行以上的空白行时,替换为一行的空白行需要注意的是,cat命令不适用于查看大文件。因为文件足

c++ - Bison and doesn't name 类型错误

我有以下文件:CP.h#ifndefCP_H_#defineCP_H_classCP{public:enumCardinalite{VIDE='\0',PTINT='?',AST='*',PLUS='+'};CP(CardinalitemyCard);virtual~CP();private:Cardinalitecard;};#endif/*CP_H_*/和dtd.y%{usingnamespacestd;#include#include#include#include"AnalyseurDTD/DtdDocument.h"#include"AnalyseurDTD/CP.h"voi