草庐IT

compile-time-constant

全部标签

c++ - <错误 C2059 : syntax error : 'constant' > when compiling with const int

编译以下代码时出现以下错误:3>c:\hedge\hedge\hedge\AisTarget.h(22):errorC2059:syntaxerror:'constant'3>c:\hedge\hedge\hedge\AisTarget.h(22):errorC2238:unexpectedtoken(s)preceding';'#if!defined(AisTarget_h)#defineAisTarget_h#include"GeneralAviationItems.h"#includenamespaceHEDGE{usingnamespaceGeneralAviation;cla

c++ - 这是 std::get_time 中的错误吗?

我正在尝试解析日期时间字符串并将结果放入std::tm结构中。下面是代码,#include#include#include#includestd::stringstreamss;structstd::tmwhen;ss.str("8/14/20153:04:23PM");ss>>std::get_time(&when,"%m/%d/%Y%r");运行代码后,when.tm_hour为27。这是一个错误,还是我做错了什么?我在Windows7上使用VisualStudio2013。谢谢。 最佳答案 您在Microsoft的std::n

c++ - 新的 C++11 range-for (foreach) 语法 : which compilers support it?

我在thisBoostConpresentationbyJeremySiek中看到了这个c++11代码片段:dequetopo_order;topological_sort(g,front_inserter(topo_order));for(intv:topo_order){//line39cout尝试在gcc中编译时出现以下错误:main.cpp:39:error:expectedinitializerbefore‘:’token这让我想知道,哪些编译器实际上支持这种语法? 最佳答案 好吧,至少GCCsupportsitin4.6

c++ - Visual Studio 2015 : Compile C/C++ without a runtime library

有没有一种方法可以在不使用任何运行时库的情况下使用VisualStudio2015编译C/C++?我需要在没有运行时库的情况下进行编译,因为我正在创建自己的运行时库(用于我的操作系统)。在C/C++->CodeGeneration->RuntimeLibrary上有选项但我想要一个显示“无”的选项。我知道失去了CRT中的许多功能。 最佳答案 要在没有C运行时库(CRT)的情况下编译您的应用程序,请使用/MT、/NODEFAULTLIB链接器选项并在Linker->Advanced处重新定义入口点->入口点在您的代码中定义的函数,例如

c++ - 编译时数组常量

我似乎遗漏了一些相当基本的东西。我试图在编译时使用const数组成员。constintlist[3]={2,5,7};constinta=list[2];//thisdoesn'terror?templatestructtmax{enum{value=((N1>N2)?N1:N2)};};constintb=tmax::value;constintc=tmax::value;//errorishereintmain(){return0;}错误:prog.cpp:10:24:error:'list'cannotappearinaconstant-expressionprog.cpp:10

c++ - 带有多个标志的 target_compile_definitions

我正在尝试更改flatbufferslibraryCMakeLists.txt使一些标志成为PUBLIC。然后,我重写了这些行:原始代码elseif(CMAKE_COMPILER_IS_GNUCXXOR"${CMAKE_CXX_COMPILER_ID}"MATCHES"Clang")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++0x-Wall-pedantic-Werror-Wextra")endif()新代码elseif(CMAKE_COMPILER_IS_GNUCXXOR"${CMAKE_CXX_COMPILER_ID}"MATCHES

c++ - 三元运算符中的 integral_constants

MSVC和clang/gcc对于是否可以在三元运算符中使用两个不同的整型常量(以及它们是否具有common_type)存在分歧:#includeintmain(){returnfalse?std::integral_constant():std::integral_constant();}上面的代码片段在clang和gcc中编译得很好,但在MSVC中却不行。根据标准,正确的行为是什么?如果是clang/gcc行为,那么用于推断这两种不同类型的公共(public)类型的转换序列是什么? 最佳答案 tldr;代码格式正确。条件表达式的类

Android Studio Connect to repo.maven.apache.org:443 failed: Connection time

声明:该博文参考了AndroidStudio设置阿里云镜像代理(如果设置之后还是远程仓库下载失败,请仔细阅读其内容就可以解决了)若原博客主人觉得侵权了,请联系,该博客就删除。目的:方便遇到类似问题的人,可以少走弯路。问题:如图所示: 解决方法:按照AndroidStudio设置阿里云镜像代理(如果设置之后还是远程仓库下载失败,请仔细阅读其内容就可以解决了)提到的方法。修改了整个项目的build.gradle两处,如下:buildscript{repositories{maven{url'https://maven.aliyun.com/repository/google'}//修改1maven

c++ - 如何使用 boost::date_time 在本地时间和世界时间之间进行转换?

如何使用current使用boost::date_time在本地时间和UTC时间之间转换(特别是,从本地时间到UTC)系统时区?我知道boost::date_time::local_adjustor,但它需要一个模板参数,它是一个依赖于时区的偏移量。Failingplatform-independentway要做到这一点,我将如何专门在Linux上做到这一点?顺便说一句,在转换过程中如何处理不存在的时间点?例如,如果由于夏令时,一天少了一小时,我尝试从缺少的小时转换一个时间点,那么最终的世界时是多少? 最佳答案 我正在使用以下代码查

c++ - srand(time(0)) 和随机数生成

srand(time(0))在C++中用于通过为rand设置起始值来帮助生成随机数。但是,你能解释一下它到底做了什么吗?谢谢。 最佳答案 srand()给随机函数一个新的种子,一个起点(通常随机数是通过取前一个数(或种子)然后对那个数做很多操作来生成下一个)。time(0)给出自Unix纪元以来的秒数,这是一个非常好的“不可预测的”种子(你保证你的种子只有一次相同,除非你开始你的程序在同一秒内多次)。 关于c++-srand(time(0))和随机数生成,我们在StackOverflow