草庐IT

dependent-type

全部标签

c++ - 错误 : no type named ‘value_type’ in ‘class

我收到以下编译器错误:(graph_algorithms.h:59:111:error:notypenamed‘value_type’in‘classGraph::graph_algorithms::vertex_comparer’)这是什么意思?下一行给了我一大堆编译器错误std::priority_queue::vertex,typenameGraph::graph_algorithms::vertex_comparer>pri_que;#ifndefGRAPH_ALGORIUHMS_H_#defineGRAPH_ALGORIUHMS_H_#include#include"grap

c++ - 非类型模板参数错误 ('x' is not a type)

我正在尝试构建我friend的QT应用程序的OSX版本,他已经在Windows和Linux上构建了该应用程序。我们都在使用g++。我正在使用gcc4.2.1。不幸的是,我不知道他在构建应用程序时使用的是什么版本(这是很久以前的事了)。谁能解释一下为什么我会收到错误:../../../src/dbapi/dbcore/node.h:24:error:'dimensions'isnotatype编译以下代码时:节点.h:templateclassEXPORT_DBCORENode:publicTransform{public:Node(Idid,QString&name,QString&t

c++ - boost::单位::数量 "incomplete type"错误

我正在尝试在项目中使用boost::units但遇到了麻烦。我有一个模板类,其中有一些quantity对象作为成员。在一个中,我希望存储一个具有压力维度的值,所以我有quantitypress;声明为成员变量。然而,这给出了一个错误,指出quantity需要两个模板参数(源代码显示第二个模板参数应该默认为double)。如果我然后指定quantitypress;相反,我得到一个错误,上面写着错误:字段“press”的类型不完整。是我做错了什么还是压力的执行有问题?最小示例:#include#includeusingnamespaceboost::units;usingnamespace

c++ - 构造函数执行顺序/顺序 : dependent initialization of static variable (class instance) in a function

对于以下代码段:classBar{public:intx;inty;Bar(int_x,int_y){/*somecodeshere*/...}};classFoo{public:intx;inty;intz;Foo(Barb):x(b.x),y(b.y){z=someFunction(x,y);}};voidf(intx,inty){Barb(x,y);staticFoox(b);}intmain(){f(2,3);}在我看来,函数内的静态变量甚至应该在main()之前初始化。但是,Foo类型的静态变量x依赖于Bar类型的局部变量b。问题是:1)x的构造函数什么时候执行?即x是在第一

c++ - 保证 std::container::size_type 是一个 std::size_t

正在关注thisquestion,我决定使用std::size_t作为size_type对于每个容器,出于明显的可读性原因。我知道这在理论上是可能的std::container::size_type不是std::size_t,但我认为我当前和future的配置并非如此。但是,为了避免恶意错误,我在使用它们时会检查类型是否相同。例如:BOOST_STATIC_ASSERT(boost::is_same::size_type,std::size_t>::value);std::vectorx;/*fillx*/for(std::size_ti=0;i代码的另一个地方,我使用了一个std::

C++, Linux : error: conversion from ‘boost::unique_future<void>’ to non-scalar type ‘boost::shared_future<void>’ requested. 如何绕过它?

我尝试使用boostthreadfutures.所以如图here我们可以得到sharedfuture来自packagedtask.所以我在linux上尝试这样的功能:templatevoidpool_item(boost::shared_ptr>pt){boost::shared_futurefi=pt->get_future();//error//...但调用它时出错:../../src/cf-util/thread_pool.h:Inmemberfunction‘voidthread_pool::pool_item(boost::shared_ptr>)[withtask_retu

C++11 : How can I define a function that accept a universal reference of a specific type of object?

问题:我正在用C++11开发一个程序。我想编写一个接受右值引用和左值引用的函数。(即通用引用)。以下函数接受通用引用参数:templatevoidfunction(T&&t){/*SNIP*/}但是,它接受所有类型的参数。它破坏了函数的类型安全。想让它接受特定类型的参数怎么办?这是我能想到的解决方案:voidfunction(Class&t){/*SNIP*/}voidfunction(Class&&t){function(t);}然而,它很丑陋。如果我想更改要接受的参数或更改函数名称,我必须更新函数的两个版本。有比这更好的等价物吗?编辑:问题已解决。你们都回答得很好。我对两个答案都投

java - 容器 'Maven Dependencies' 引用了不存在的库 - STS

我之前使用的是win8,我之前一直在我的电脑上运行EclipseJuno,但从现在开始我想开始使用STS,一旦我创建一个新项目,我就会收到以下错误。我删除了我的.m2文件夹以及与Eclipse相关的所有内容以便从头开始仍然没有工作,我已经没有想法了。有什么建议???找不到"springframework.org/tags"index.jsp/app/src/main/webappline6JSP问题的标签库描述符容器'MavenDependencies'引用了不存在的库'C:\Users\Pablo.m2\repository\org\springframework\spring-we

java - 容器 'Maven Dependencies' 引用了不存在的库 - STS

我之前使用的是win8,我之前一直在我的电脑上运行EclipseJuno,但从现在开始我想开始使用STS,一旦我创建一个新项目,我就会收到以下错误。我删除了我的.m2文件夹以及与Eclipse相关的所有内容以便从头开始仍然没有工作,我已经没有想法了。有什么建议???找不到"springframework.org/tags"index.jsp/app/src/main/webappline6JSP问题的标签库描述符容器'MavenDependencies'引用了不存在的库'C:\Users\Pablo.m2\repository\org\springframework\spring-we

C++ 错误 : "Expression must have integral or enum type"

这个问题在这里已经有了答案:Whycan'ttheswitchstatementbeappliedtostrings?(22个答案)关闭8年前。我在下面的(不完整的)函数的switch语句中收到错误“表达式必须具有整数或枚举类型”。我盯着它看了一会儿,想不通这是怎么回事。非常感谢任何见解。std::stringCWDriver::eval_input(std::stringexpr){std::vectorparams(split_string(expr,""));std::stringoutput("");if(params.size()==0){output="Inputcanno