C编译器??)替换
C compiler ??) replacement
我们在Visual Studio 2005编译器中遇到了一个奇怪的问题。
在编译时,它替换了这个字符串常量
"... ,0x??)"
和这个:
"... ,0x]"
通过尝试,我们几乎不知道执行了以下替换:
??( -> [
??) -> ]
??< -> {
??> -> }
所以我想这应该是一个特性,而不是一个bug。
Visual Studio 2010不支持这个功能。
可惜你不能用谷歌搜索??(
。
问题是:
我们可以通过编译器开关来控制这个行为吗?
顺便说一句:这是什么原因?
这些是C有向图和三向图:http://en.wikipedia.org/wiki/Digraphs_and_trigraphs
是的,你可以在visual studio中禁用它们:http://msdn.microsoft.com/en-us/library/ee462497.aspx
相关文章:
- C/C++编译器通常会删除重复的库吗
- 模板参数替换失败,并且未完成隐式转换
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- Win32编译器选项和内存分配
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 在线编译器中的分段C++没有打印消息
- 如何用转义符替换字符串中的所有特殊字符
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- C/C++预处理器是否可以检测一些编译器选项
- 如果可推导类型上有替换,可变参数模板类型推导会使编译器崩溃
- 将"-01"替换为"-02" 英特尔编译器选项会导致 FPE 在较小的 for 循环行程计数中抛出
- 说编译器可以将下面的表达式"a->i"替换为其值 1 是否正确,因为...?
- 编译器是否将常量变量替换为它们在 C++ 中的值
- 替换 Boost Build v2 中的编译器
- 将 CString 替换为 mingw 编译器中的 eclipse
- C编译器??)替换
- 当我更改类型参数名称时,模板替换失败-编译器错误
- 是否有任何C++编译器能够优化 lround(pow(sqrt(i), 2)) 现在或不久的将来用 i 替换它