草庐IT

is_same_template

全部标签

c++ - 为什么此代码会出现错误 "template specialization requires ' template< >'"?

当我尝试用Clang编译它时templatestructField{charconst*name;Field(charconst*name):name(name){}};templateclassCRTP{staticFieldconst_field;};classClass:publicCRTP{};FieldconstCRTP::_field("blah");intmain(){}我明白了error:templatespecializationrequires'template'FieldconstCRTP::_field("blah");~~~~~~~~~~~^我根本不明白这个错

c++ - 模板元编程 : multiplying a bunch of template arguments

我需要在编译时计算传递给模板化结构的一堆数字的乘积。我成功地做了一个丑陋的解决方案:templatestructmul_all{staticconstexprstd::size_tvalue=n1*mul_all;};templatestructmul_all{staticconstexprstd::size_tvalue=1;};问题是每次我必须像这样将0提供给模板参数到我的结构中intmain(){std::cout::value::value;return0;}是否有任何解决方法来读取最后一个零?注意:我是TMP的初学者。 最佳答案

C++ 链接错误 : Undefined symbols using a templated class

我在编写的类中遇到了一些非常奇怪的链接错误。我完全找不到任何可以描述正在发生的事情的东西。VisualStudio(WindowsXP)players.obj:errorLNK2019:unresolvedexternalsymbol"public:__thiscallTreeNode::TreeNode(void)"(??0?$TreeNode@VPlayer@@@@QAE@XZ)referencedinfunction"public:__thiscallPlayerList::PlayerList(void)"(??0PlayerList@@QAE@XZ)Xcode(OSX10.5

C++ 专家 : is the offset of a member variable to its class constant under these conditions?

给定FooClass*类型的变量foo和该类中名为bar的成员变量,是foo之间的距离和&(foo->bar)在有一些约束的任何情况下都是一样的:FooClass是非POD类型。我们知道foo将始终指向FooClass的实例,而不是它的某个子类型。我们只关心单一编译器和单一编译下的行为;也就是说,在gcc下这可能导致的值永远不会在用MSVC编译的代码中使用,并且永远不会保存以在编译之间重新使用。它在二进制中计算并在二进制中使用,仅此而已。我们不使用自定义new,尽管该类的一些实例可能是堆栈分配的,一些是堆分配的。FooClass没有明确的ctor;它依赖于编译器生成的(FooClass

c++ - 不明确的 if 和 else 分支 : Is the behaviour defined?

我最近遇到了一些像下面这样的C++代码:if(test_1)if(test_2){//Dostuff}elseexit(0);这是不明确的,因为编译器可以将其视为:if(test_1){if(test_2){}else{}}或作为:if(test_1){if(test_2){}}else{}这段代码的行为是根据任何标准(C、C++)定义的吗?我在VC++上的一个C++程序中看到这段代码,它似乎更喜欢第一种解决方案。 最佳答案 Isthebehaviourofthiscodedefinedaccordingtoanystandard(

java - 采访 : Is it possible to create a class without name?

面试的时候,面试官问了我我们可以创建没有名字的类吗?因为我不确定是否真的可以创建一个没有名字的类。所以,我说不。后来,我尝试了谷歌搜索,发现其他人也在寻找相同问题的答案,但我没有找到明确的答案。如果有人能清楚地解释这门课,我将不胜感激。我的意思是,该类在技术上称为什么以及我们如何实例化该类? 最佳答案 是的,它叫做匿名类/结构。在C++中:class{}x;x是该类型的一个对象,您不能再创建了,因为,如果类没有名称而且所有....howwouldonecallconstructoranddestructors你不知道。在Java和C

【Django数据库连接报错】django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.36).

Django数据库连接MySQL时报错django.db.utils.NotSupportedError:MySQL8orlaterisrequired(found5.7.36).百度之后发现是数据库版本太低。(我是找了一个低代码平台一键部署的数据库,版本是5.7.36)但是又不想安装MySQL8(太麻烦,懒一下。都用低代码平台一键部署了,肯定不想自己安装)。找到报错信息中的django的安装路径的.py文件下的报错语句(检查数据库版本)  self.check_database_version_supported() 注释掉然后运行,pythonmanage.pymigrate数据库连接正常

初学者使用Xcode的一些问题解决,以及A function declaration without a prototype is deprecated in all versions of C处理

今天我使用Xcode创建了一个项目,并在其中生成了一个.c文件。这个文件运行起来没有问题,于是我生成了第二个.c文件,发现编译错误。原因是Xcode每个target都只能有一个main函数,如果需要在一个项目内创建互不影响的小项目,应该使用创建target的方式,否则会报错。另外还有一个问题:许多c的教程中主函数会这么写intmain(){}事实上这在Xcode中是会提示错误的,具体报错为:AfunctiondeclarationwithoutaprototypeisdeprecatedinallversionsofC这是因为在c语言中,没有参数的函数括号内要写void,这是唯一正确的写法,不

7.模板Template

WPF的模板基类叫FrameworkTemplate,它是一个抽象类,它有三个子类,分别是ControlTemplate(控件模板)、ItemsPanelTemplate(元素面板模板)和DataTemplate(数据模板)ControlTemplate控件模板用于定义控件的外观,也就是Control基类的Template属性,而绝大多数控件都继承于Control基类,意味着我们都可以去重新定义它们的视觉外观。DataTemplate数据模板即数据的外衣。用于从一个对象中提取数据,并在内容控件或列表控件的各个项中显示数据。比如ContentControl基类中的ContentTemplate属

c++ - 'std::ios_base::ios_base(const std::ios_base&)' is private' 错误,同时为 std::ostram 重载运算符 <<

我有一个看起来像这样的结构:sturctperson{stringsurname;person(stringn):surname(n){};}我需要重载operator对于std::ostream和person.我写了这个函数:std::ostreamoperator但我收到此错误:/usr/include/c++/4.6/bits/ios_base.h|788|error:‘std::ios_base::ios_base(conststd::ios_base&)’isprivate|/usr/include/c++/4.6/bits/basic_ios.h|64|error:with