草庐IT

missing-template

全部标签

c++ - 我可以在这里使用 Curiously Recurring Template Pattern (C++) 吗?

我有一个C++应用程序,可以简化为如下所示:classAbstractWidget{public:virtual~AbstractWidget(){}virtualvoidfoo(){}virtualvoidbar(){}//(othervirtualmethods)};classWidgetCollection{private:vectorwidgets;public:voidaddWidget(AbstractWidget*widget){widgets.push_back(widget);}voidfooAll(){for(unsignedinti=0;ifoo();}}void

c++ - 编写编译器 : how to get simple templates to work?

我有一种语法非常类似于C++的语言。词法分析器和解析器就位并产生正确的AST。大部分后端也已完成。编译器用来创建类型的基本系统非常简单:所有类型都被认为是内置的,所有实例都是全局的。所以只有一个简单的映射,它将类型名称与创建Variable的方法相匹配,该Variable基本上是像boost::any这样的通用类型。另一个以变量名作为键,变量作为值的映射作为全局范围:std::maptypeList;//registersometypestypeList["X"]=Variable::Create;typeList["Y"]=CreateInstanceOfY;....当编译器获取用于

c++ - 默认模板参数 : Why does the compiler complain about not specifying template argument?

我有这个代码:structA{};templatestructB{voidfoo(){}};Bb;//Error:missingtemplateargumentsbefore'b'//Error:expected';'before'b'//Moreerrorsb.foo()如果我将foo()作为具有相同模板“签名”的模板函数,编译器不会提示没有指定模板参数:structA{};structB{templatevoidfoo(){}};Bb;//OKb.foo()那么为什么我需要为带有默认参数的模板类指定参数,而不是为模板函数指定参数呢?我是否遗漏了一些微妙之处?原因肯定是因为模板参数推

c++ - "Invalid template argument"错误在 Visual Studio 但不是 GCC

假设你有代码templateclassBaseType>classEST16:publicBaseType{public:EST16(doubled){}};templateclassSCEST{Ty;};typedefEST16EST16_SC;classChild:publicEST16_SC{public:Child():EST16_SC(1.0){}};classNotWorkingChild:publicEST16{public:NotWorkingChild():EST16(1.0){}};TEST(TemplateTest,TestInstantiate){Childch

android - 房间 (AAC) : [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)

FollowingDao没有在我的Android应用中构建:@DaointerfaceGroupDao{@Insertfuninsert(group:Group)@Query("SELECT*FROMgroup")funloadAll():LiveData>}当我在AndroidStudio3中构建项目时,我在gradle构建步骤中收到以下错误::app:kaptDebugKotline:C:\workspaces\SystemicConsensusKotlin\app\build\tmp\kapt3\stubs\debug\de\maxdobler\systemicconsensus

android - 房间 (AAC) : [SQLITE_ERROR] SQL error or missing database (near "group": syntax error)

FollowingDao没有在我的Android应用中构建:@DaointerfaceGroupDao{@Insertfuninsert(group:Group)@Query("SELECT*FROMgroup")funloadAll():LiveData>}当我在AndroidStudio3中构建项目时,我在gradle构建步骤中收到以下错误::app:kaptDebugKotline:C:\workspaces\SystemicConsensusKotlin\app\build\tmp\kapt3\stubs\debug\de\maxdobler\systemicconsensus

c++ - QObject : Missing vtable link error

我知道这个问题已经被问过很多次了,但我在这里和谷歌中都找不到解决方案。这是我的头文件#ifndefMAINCONTROLLER_H#defineMAINCONTROLLER_H#include#include#include#include#include"PhTools/PhString.h"#include"PhStrip/PhStripDoc.h"classMainController:publicQObject{Q_OBJECTpublic:explicitMainController(QObject*parent=0);voidloadSettings();PhStringg

c++ - 错误 C2146 : syntax error : missing ';' before identifier

我无法摆脱这些错误...我检查的每个地方都有分号...代码很简单:该错误将我带到article.h中的定义“字符串名称”...主要.cpp#include#include#include#includeusingnamespacestd;#include"article.h"intmain(){stringsi;chararticle[128];vectorarticles;ifstreamfile;file.open("input.txt",ifstream::in);while(!file.eof()){file.getline(article,128);articles.push

c++ - 错误 C2143 : syntax error : missing ';' before 'using'

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8年前。Improvethisquestion这是我的标题:#ifndefHEADER_H#defineHEADER_HclassMath{private:staticenumnames{amin=27,ali=46};public:staticvoiddisplayMessage();}#endif//HEADER_H这是标题定义:#incl

c++ - `class template Example<int>;` 语句对 C++11 意味着什么?

有人提到我"ExplicitTemplateInstantiation"在cplusplus.com,它给出了以下示例:templateclassExample{public:Example(Ttest){_data=test;}voidsetTest(Ttest){_data=T;}private:T_data;};classtemplateExample;classtemplateExample;classtemplateExample;除了在我看来是一个遗漏错误之外,试图将类型分配给成员变量--_data=T而不是我认为应该是_data=test--我不明白的是最后3行究竟声明或