为啥我在vs 2012 写c++的时候 定义一个常量,值是中文会报错,error: C2001: 常量中有换行符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我在vs 2012 写c++的时候 定义一个常量,值是中文会报错,error: C2001: 常量中有换行符?相关的知识,希望对你有一定的参考价值。
为什么我在vs 2012 写c++的时候 定义一个常量,值是中文会报错,error: C2001: 常量中有换行符?
#define ABC "啊"
解决方法
I 不用中文 -_-
II 偶数中文 或 结尾加英文的符号,如"."
III 字符转换 GBKToUTF8本回答被提问者和网友采纳 参考技术B #define ABC "啊"
这不是宏吗?宏和常量是2个概念
具体代码是什么呢, 除了文字允许用中文,两端的双引号什么的都只允许用半角 参考技术C 这种错误一般是在对下载得到的代码进行编译时出现,实际是文件编码问题。这时下载得到的文件编码为UTF-8,而Windows中文版默认使用GB2312,对于UTF-8编码的某些字符,在中文版VS下就容易因解码错误导致乱码造成编译错误。
解决方法
将出错的文件编码格式转换为GB2312即可(一般不会所有文件都出错)。
双击此错误会跳到出错的文件,这时在Visual Studio菜单栏上点击“文件”->“高级保存选项”,在“编码”下拉框选择“简体中文(GB2312)”,然后“确定”即可。重新编译就没问题啦! 参考技术D 别用中文啊 这个时候咋还能用着中文呢
为啥 c++ 类定义中的公共引用
【中文标题】为啥 c++ 类定义中的公共引用【英文标题】:Why public ref in c++ class definition为什么 c++ 类定义中的公共引用 【发布时间】:2009-08-05 08:01:02 【问题描述】:首先,我想明确一点,这对 C++ 来说是全新的,所以这可能是一个简单且有些明显的问题。在我正在阅读的名为 C++ Primer 的 C++ 书中,类是通过以下方式定义的:
class classname
public:
private:
;
但是,在 VS2008 中,编译器不喜欢这样。但是通过在课前添加公共参考,如:
public ref class classname
它在编译器中通过。谁能解释一下只用类和公共参考类定义有什么区别?我真的很感激。
【问题讨论】:
这是你想问的问题:***.com/questions/1195572/… “不喜欢这个”不是 VS2008 产生的错误消息。如果 OP 指定了错误消息,也许答案不会那么糟糕。 【参考方案1】:ref
语法是 Microsoft 扩展,仅在托管 C++ 中使用。根据您在创建项目时错误地轻弹/clr
编译器开关的声音。如果你想做的只是创建真正的 C++ 程序,那么你会想要恢复它。
【讨论】:
在 Visual Studio 中选择错误的项目类型可能会在您不知不觉中自动打开 /clr。我想创建一个新的 dll 库并最终犯了这个错误。相反,我应该使用 Win32 控制台应用程序项目类型,这对我作为新手来说并不明显。有关详细信息,请参阅this MSDN page。 澄清...微软从 .Net 产生了两种与 C++ 交互的方法第一种(违反 ISO C++)是“托管 C++”,这已经过时了。第二个(符合 ISO 标准,即使在今天仍然有效)是 C++/CLI 这很重要,因为当使用错误的名称时,搜索结果会将读者引向 primrose 路径...【参考方案2】:您正在阅读一本名为 C++ Primer 的书,该书教授 C++ 编程语言,而您正在尝试创建一个程序,告诉 VC++ 代码位于 C++/CLI 中,这是一种不同的编程语言....
【讨论】:
+1 使用您所学的相同语言进行编程通常会有所帮助。【参考方案3】:您(编辑: 和其他用户)将此问题标记为:
两种编程语言:C++和C++/CLI, 一个由 Microsoft 提供的商业 集成开发环境 (IDE):Visual C++,可让您使用三种不同的语言(C、C++ 和 C++/CLI)进行编程)。在帖子中,您提到了 Microsoft Visual Studio 2008,它是 Visual C++ 的超集。 一个语言扩展集:Managed C++,在历史上曾指代很多不同的事物,坦率地说,我现在不确定它是什么意思 :)但是,您的首要目标应该是了解如何配置 Visual C++ 以使用您选择的语言 C++ 进行编程。
像往常一样,找到这个问题的答案的一个好方法是在“”页面中输入它,然后查看建议的相关问题。这是最好的,我认为:compiling "standard" C++ in visual studio (non .net).
【讨论】:
* AProgrammer 在阅读问题后重新标记了添加 C++/CLI 的问题。 OP 对此一无所知。【参考方案4】:您正在学习标准的 C/C++ 语言吗?如果答案是肯定的,那么该语法与 Microsoft C++/CLI 语言有关...
看:C++/CLI
尝试使用带有 C++ 扩展的 Eclipse。它提供了创建和执行标准 C++ 程序所需的一切!
Eclipse download
【讨论】:
他正在阅读 C++ 书籍,所以我推测他正在学习 C++。为什么要为 Eclipse 做广告? VC++ 是一个完善的 IDE / 编译器,可以在 Windows 上创建 C++ 程序。您只需要确保选择正确的项目类型。如果有人决定选择一个 Java 项目然后尝试编写一个 C++ 程序,那么 Eclipse 之类的问题仍然存在。 @KTC:因为 VC++ 主动将您从 ISO C++ 路径转移。 “安全”CRT,有人吗?以上是关于为啥我在vs 2012 写c++的时候 定义一个常量,值是中文会报错,error: C2001: 常量中有换行符?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在vs2010下编写代码的时候代码下面会出现红色波浪线?
为啥visual studio2012在新建c++项目的时候会出现这个对话框?