struct init 的时候报错 error C2059: 语法错误 "{"

比如:

struct kk {

  int a;

  int b;  

};

kk val[2];

val[0] = {0, 0};

val[1] = {1, 1};

在有些编译器下能通过,在vs2012上编译不过

网上:原来这个新feture Designated initializers 在 vs2012 上支持,需要升级到 vs2013

那就只能有老的初始化的方法了

时间: 2024-12-12 07:36:06

struct init 的时候报错 error C2059: 语法错误 "{"的相关文章

关于CUDA C 项目中“ error C2059: 语法错误:“<” ”问题的解决方法

该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译,C++编译器无法识别 "<<<",导致报错. 为什么cu文件会被C++编译器所编译呢?原因在于我们使用#include将cu文件包含到了C++文件中.对于#include的用途,更简单的理解就是把几个文件合并成一个文件,所以,当编译C++文件中,包含其中的cu文件也会被编

[ISSUE][PENDING]cocos2d-x ... error C2059: 语法错误:“-”

在定义的头文件中并没有使用到任何coco2d-x的东西,提示错误 error C2059: 语法错误:“-” (..\..\src\Xxxx.cpp)error C2143: 语法错误 : 缺少“;”(在“}”的前面) (..\..\src\Xxxx.cpp)error C2238: 意外的标记位于“;”之前 (..\..\src\Xxxx.cpp)error C2575: “updateQuadWithParticle”: 只有成员函数和基可以是虚拟的 (..\..\src\Xxxx.cpp)

vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”

利用vs2012编译ffmpeg出现以下错误: libavdevice/avdevice.c(38) : error C2059: 语法错误:"." libavdevice/avdevice.c(40) : error C2059: 语法错误:"," libavdevice/avdevice.c(42) : error C2059: 语法错误:"," libavdevice/avdevice.c(44) : error C2059: 语法错误:&

error C2589: &ldquo;(&rdquo;: &ldquo;::&rdquo;右边的非法标记 error C2059: 语法错误 : &ldquo;::

1. 错误输出 ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2589: "(": "::"右边的非法标记    ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2059: 语法错误 : "::"2. 错误代码举例 size.Width = std::max(size.Wid

解决error C2059: 语法错误:“::”问题

错误代码提示: 1>f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2059: 语法错误:“::”f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2589: “(”:“::”右边的非法标记 const size_t key_size_upper_bound = std::min(sizeof(BucketKey)

VS 报cmath(19): error C2061: 语法错误: 标识符&ldquo;acosf&rdquo; 错误

这是因为我在.c文件中用了 #include <iostream> using namespace std; 这样编译的时候就报: 出现错误类型如下:1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符"acosf"1>c:\program files (x86)\microsoft visual studio 10.0

升级 MySQL 至 5.5,报错 [ERROR] Plugin &#39;InnoDB&#39; init function returned error

MySQL 从 5.5 升级到 5.6,启动时报错: [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. [ERROR] Unknown/unsupported storage engine: InnoDB [ERROR] Aborting 原因:主要是没有正常关闭 mysqld 服务的情况下,对数据库参数进行改

Spring Boot报错Error creating bean with name &#39;userRepository&#39;: Invocation of init method failed; nested exception

问题:出现UserRePository注入创建失败,一定先检查所有的@注解是否已经标记 问题发现:entity下的实体类上面没有加注解  任何基于hibernate的实体类一定要加上@Entity注解! Spring Boot报错Error creating bean with name 'userRepository': Invocation of init method failed; nested exception 原文地址:https://www.cnblogs.com/my-prog

CentOS命令登录MySQL时,报错ERROR 1045 (28000):

CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user [email protected] (using password: NO)错误解决方法 1.停用mysql服务:# /etc/rc.d/init.d/mysqld stop 2.输入命令:# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 3.登入数据库:# mysql -u root my