草庐IT

xdebug_get_declared_vars

全部标签

c++ - 使用 std::get_time 将时间字符串转换为 std::time_t:错误结果

我正在尝试按时间顺序对照片进行排序。因此,我从EXIF数据中将时间提取为字符串,然后将其转换为std::time_t。但是我有时会得到不正确的结果。我已将问题简化为这个最小的例子。它具有三个时间字符串,相隔一秒:#include#include#include#include#include#includeintmain(){std::vectorvec;vec.push_back("2016:07:3009:27:06");vec.push_back("2016:07:3009:27:07");vec.push_back("2016:07:3009:27:08");for(auto&

c++ - 打印 std::this_thread::get_id() 给出 "thread::id of a non-executing thread"?

这曾经工作得很好(然后外星人一定黑了我的电脑):#include#includeintmain(){std::cout现在它打印thread::idofanon-executingthread。ideone.com打印了一些ID,但有趣的是是什么导致了我平台上的这种行为。$uname-aLinuxxxx3.13.0-77-generic#121-UbuntuSMPWedJan2010:50:42UTC2016x86_64x86_64x86_64GNU/Linux有什么想法吗?编辑:嗯..当我添加std::cout两行打印相同的ID,但是当我删除它时,结果仍然相同-“非执行线程”。

c++ - 为什么C++标准中的declaration-seq是这样写的?

declaration-seq:declarationdeclaration-seqdeclaration不是这样的:declaration-seq:declarationdeclarationdeclaration-seq这两个定义可以互换吗?它们有什么区别? 最佳答案 这是C++的C遗产的遗迹。C语法(几乎)是LALR(1),因此使用leftrecursion越多越好。C++语法甚至不再是模糊的LALR,但许多规则仍然以LALR解析器更喜欢的形式编写,因为没有理由改变它们——任何强大到足以处理C++的解析器算法都不关心哪种类型的

c++ - 不合格的名称查找 : Why local declaration hides declaration from using directive

考虑这段代码:namespaceA{inti=24;}namespaceB{usingnamespaceA;inti=11;intk=i;//findsB::i,noambiguity}和basic.lookup.unqual.2:§6.4.1Unqualifiednamelookup[basic.lookup.unqual]Thedeclarationsfromthenamespacenominatedbyausing-directivebecomevisibleinanamespaceenclosingtheusing-directive;see[namespace.udir].F

c++ - Visual Studio 2010 调试 "if (var == NULL)"未触发

已解决-构造函数问题MatthewFlaschen和MichaelBurr指出Node(int)的重载构造函数调用Node()不起作用的问题because...谢谢大家!我已经构建了一个程序(我正在调试它)并且遇到了一个奇怪的问题......一个`if`语句没有在它应该被触发的时候被触发......这是一个学校项目,我们必须构建一个具有至少一个“优化”功能的AVL树。我确信并测试过`rdown`和`ldown`起作用(作为平衡因素)——树不是完全平衡的。相反,它基于分支的高度(即-`balance()`应该只返回(1,0,-1)否则它是不平衡的。我希望这些信息足以解决这个奇怪的问题..

c++ - 前向声明的类型和 "non-class type as already been declared as a class type"

我对以下代码有疑问:templatevoidfoo(structbar&b);structbar{};intmain(){}它在GCC上编译成功,但在MSVC(2008)上编译失败并出现以下错误:C2990:“bar”:已声明为类类型的非类类型是代码错误还是MSVC中的错误?如果我在模板定义之前添加structbar;就可以了。 最佳答案 我们有我们的赢家:https://connect.microsoft.com/VisualStudio/feedback/details/668430/forward-declared-type-

解决kubelet报failed to get imageFs info: non-existent label \“docker-images\“

问题:一环境主机重启后,查看kubelet日志经常有大量无法回收镜像文件报错,会导致kubelet的pleg不健康,从而导致kubelet发生重启。报错如下:解决办法解决方法一:systemctlstopdockersystemctlstopkubeletsystemctlstartdockersystemctlstartkubelet解决方法二:在kubelet的kubelet.service文件中,添加如下参数:[Unit]After=docker.service原因总结:主机重启后,kubelet比docker先启动,会对不健康的pod进行一个资源回收的过程,这个时候docker还没正常

c++ - Clang VS VC++ :"error: declaration of ' T'阴影模板参数”

我正在尝试为theclassiccopy&swapidiom编译以下代码在我的Mac上使用clang3.3templateclassnode{private:node*left;node*right;Tvalue;public:friendvoidswap(node&,node&);//otherstuff}然而链接器却报错了。我现在明白我应该将函数声明为模板。但是,如果我按照建议的样式进行操作,则会发生错误here来自MSDN:templateclassArray{T*array;intsize;public:template//...templatefriendArray*comb

c++ - 如何让非成员 get<N> 为命名空间中的自定义类工作 [C++17]

C++17引入了结构化绑定(bind)声明:auto[a,b]=some_tuple;.这对于像std::tuple这样的东西是开箱即用的。也可以使其适用于自定义类型,您只需提供(除其他事项外)一个get-function模板,作为成员或在自定义类之外。对于标准类,这是通过位于标准命名空间中的非成员获取完成的:autoa=std::get(some_tuple);有效,但无效autoa=some_tuple.get();.但这里对我来说很奇怪:因为我们必须显式地为get指定模板参数N,所以ADL不起作用,例如,我们不能只写autoa=get(some_tuple);.但是随后带有元组的

c++ - 错误 : variable or field ‘myfunction’ declared void

这个问题在这里已经有了答案:variableorfielddeclaredvoid(6个答案)关闭7年前。在下文中,我没有定义类型doesntexist。voidmyfunction(doesntexistargument){}GCC4.7.2说“error:variableorfield‘myfunction’declaredvoid”我的问题是:编译器在这里指代函数名称为void而不是参数类型是怎么想的?[编辑]在投票之前,请注意这个问题的答案与错误的顺序和-Wfatal-errors停止打印更直接相关的消息有关。这不仅仅是我在尝试一个稍微模糊的编译器消息。