原文:一个C++宏定义与枚举定义重复的编译错误

C 的开发效率低是众所周知的,原因比如有: 语言复杂度高 编译效率低 工具链不够完整高效 尤其是linux下 另外一个恐怕是不少编译错误让人摸不着头脑,今天碰到一个,举个例子: 编译错误为: 这里的错误,其实是说枚举DEBUG不合法,因为已经有个宏定义也叫DEBUG了。 如果是一个比较普通的enum名字,刚好在某处不怎么可见的地方被宏定义了,看到这个错误那是相当不知道到底哪里错了。。。 ...

2013-09-07 23:53 3 2626 推荐指数:

查看详情

C/C++定义编译

Pre-defined C/C++ Compiler Macros https://sourceforge.net/p/predef/wiki/Home/ The macros are found here: Standards Compilers Libraries ...

Mon Jul 17 23:39:00 CST 2017 0 2028
c++编译时打印定义

#pragma message("this is message") #pragma message只能打印字符串,如果想打印任何定义可使用: #define PRINT_MACRO_HELPER(x) #x #define PRINT_MACRO(x) #x ...

Wed May 24 06:17:00 CST 2017 0 1521
c++工程重复编译重复定义

#ifndef #define #endif防止的是“重复编译”,而不是“重复定义重复编译可能造成重复定义,但重复定义的来源不只有重复编译从代码变成可执行的程序,需要两个步骤编译和链接编译开始时,将所有#include头文件的地方替换成该头文件的代码在编译阶段,编译所有源文件成为模块,各模块中 ...

Fri Jun 09 16:44:00 CST 2017 0 1403
c++模板函数声明定义分离编译错误详解

今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H #define GUARD_VEC_H #include <iostream> #include ...

Wed Mar 21 23:57:00 CST 2012 8 14984
[c++] 用定义一个函数

要点:变量都用括号括起来,防止出错,结尾不需要;。在实际编程中,不推荐把复杂的函数使用,不容易调试。多行用\ 要写好C语言,漂亮的定义是非常重要的。定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数 ...

Tue Dec 05 00:52:00 CST 2017 0 4590
C++定义

C++ 定义一个标识符定义一个字符串,源程序中的该标识符均以指定的字符串来代替。预处理命令不同于一般C++语句。因此预处理命令后通常不加分号。这并不是说所有的预处理命令后都不能有分号出现。由于定义只是用名对一个字符串进行简单的替换,因此如果在定义命令后加了分号,将会连同分号一起进行置换 ...

Sun Nov 18 18:18:00 CST 2012 1 4068
C++定义以及定义的理解

1、#define解析 #define是C语言中提供的定义的命令,其主要目的是为程序员编程时提供一定的方便,并能再一定程度上提供高级程序的运行效率。 1.1、#define命令解析 1.1.1、#define的概念   #define命令是C语言中的一个定义命令,它用来将一个标识符定义 ...

Sat Jul 11 09:49:00 CST 2020 0 491
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM