C++ error C2059: 语法错误:“常数”
环境:Win10, x64, VS2017, NX
记录日期:2020/09/10
错误描述:
NX二次开发时,新建了一个头文件 a.hpp,部分代码如下:
#include <uf_defs.h>
#include <uf_ui_types.h>
#include <iostream>enum class DllExport FORM_TYPE
{UNIFIED = 0,METRIC, //出错语句TRAPEZOIDAL
};
编译是成功的,然后在另外一个代码文件中 b.cpp 中使用 a.hpp,代码如下:
#include <uf.h>
#include "ToolData.hpp"
#include <memory>
#include <array>
编译报错,提示 METRIC 是常数 !!!
错误原因:
在b.cpp中, uf.h 文件在ToolData.hpp前面,打开uf.h 发现 uf.h 已经有 #define METRIC 1
但由于a.hpp 中 没有uf.h, 所以定义METRIC不会冲突,a.hpp 文件单独编译肯定是正确的,
但当其他文件使用 a.hpp 时,如果 uf.h 在 a.hpp 前面,编译就会报错。
解决办法:
1. 养成一个好的习惯,将系统文件放在最前面,这样重复的变量在编译前就会暴露出来,
然后使用 undef METRIC 解决冲突,毕竟这种错误很难定位,尽量规范。
2. 自己编写代码定义变量时,尽量避免系统关键字 ,如MessageBox, 使用不会重复的名字,
这种方法比较笨,不建议使用。
C++ error C2059: 语法错误:“常数”相关推荐
- c语言中 c2059错误是,解决error C2059: 语法错误:“::”问题
错误代码提示: >f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(): error C2059: 语法错误:"::&q ...
- max 宏定义取消:error C2589: error C2059: 语法错误 : “::”
原文链接:http://blog.csdn.net/danelumax2/article/details/9172465有修改! 一:关于Pcl和WIndef的冲突: 1. 错误输出 ./zlibra ...
- error C2059: 语法错误:“,”
在使用libcef库做MFC开发时,出现一个编译错误:error C2059: 语法错误:"," 这个错误出现的很奇怪,通过撤销修改发现是因为头文件引用的先后顺序造成的.我把#in ...
- error C2059: 语法错误:“::”
下面这段代码: Index i2 = std::min(0 + slice, loop_size); 编译会出现这样的错误: 1> error C2059: 语法错误:"::" ...
- 解决error C2059: 语法错误:“::”问题
错误代码提示: 1>f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2059: 语法错误:" ...
- error C2059: 语法错误:“常量”解决方案
场景 添加海康,宇视SDK对接的头文件和库文件,编译出错提示error C2059: 语法错误:"常量".显示宇视SDK头文件NetDEVSDK.h中宏定义异常 typedef ...
- 解决winnt.h(389): error C2059: 语法错误:“;”
大胸弟:来都来了,不点点关注,不点点赞 ,您是不是有点太不讲武德了! 问题:突然出现winnt.h(389): error C2059: 语法错误:";" 就这么一句话,怎么破, ...
- 关于error C2059: 语法错误:“类型”,初学者的一点收获
今天按照课本抄代码的时候出现了 error C2059: 语法错误:"类型" #include<stdlib.h> #include<stdio.h> in ...
- c语言 2059 语法错误,关于CUDA C 项目中“ error C2059: 语法错误:“” ”问题的解决方法...
该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译, ...
最新文章
- mysql mha官网下载_mysql MHA 及多主复制
- CodeForces - 715A Plus and Square Root(思维+构造)
- LeetCode题库第2题 两数相加
- cocos 事件分发2
- cf1553C. Penalty
- 前端和后端哪个工资高_新媒体运营和网络运维哪个好,哪个工资待遇高,门槛低?...
- 《南溪的目标检测学习笔记》——图像预处理的学习笔记
- window.open() 方法
- Python使用matplotlib可视化模拟龟兔赛跑折线图
- 黑马程序员_JavaWeb013
- 哪种编程语言好?大神为你分析 Go、Java、C、C++ 等主流编程语言
- 汉语言01C1501,2019年北京自考汉语言文学(本科)专业(01C1501)要考哪些科目?...
- mstar的android方案,Mstar Android 方案.pdf
- 项目管理(软件开发)之思维导图使用
- centos7密码正确登录失败
- Cocos Creator 基于 Spine 动画的 AVATAR 换装系统优化
- vue根据表格分页,前端实现方法
- 120个微信小程序源码,打包下载
- 中级工程师的职称好评吗?怎么评中级工程师?需要什么材料?
- ThinkPad P52 安装Ubuntu16双系统踩雷与建议 (图显P1000)