按照第一个 hello world 示例在 VS2010 中出现编译错误

Posted

技术标签:

【中文标题】按照第一个 hello world 示例在 VS2010 中出现编译错误【英文标题】:Getting a compilation error in VS2010 by following the first hello world example 【发布时间】:2011-05-13 08:28:32 【问题描述】:

我刚开始学习 MFC..在这里找到了一个教程 http://bit.ly/j2uhHO..刚刚在 VS2010 中尝试了同样的事情,但是在这段代码中出现了编译错误..

void CChildView::OnPaint() 


    CPaintDC dc(this); // device context for painting

    dc.TextOut(0, 0, "Hello, world!");

    // TODO: Add your message handler code here

    // Do not call CWnd::OnPaint() for painting messages

错误是:

error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [14]' to 'const CString &'

任何人都可以解决这个问题并建议一些 mfc 教程..谢谢你..

【问题讨论】:

【参考方案1】:

错误告诉你到底哪里错了。

error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [14]' to 'const CString &'

TextOutW() 期望 const CString & 作为第三个参数,而您传递的是 const char [14]

你需要做的:

dc.TextOut(0, 0, L"Hello, world!");  

它以函数所需的格式传递第三个参数。

要参考 MFC 资源,请参阅 this。

【讨论】:

非常感谢..你能给我推荐一些适合初学者的 MFC 教程【参考方案2】:

问题是 Windows 默认使用宽字符 wchar_t 来表示文本。你需要

    dc.TextOut(0, 0, L"Hello, world!"); 

【讨论】:

以上是关于按照第一个 hello world 示例在 VS2010 中出现编译错误的主要内容,如果未能解决你的问题,请参考以下文章

Python入门教程第04篇 Hello World程序

Hello world

我的第一个Java程序:Hello World 2021-05-13

0x01 C语言-编写第一个hello world

微搭低代码入门教程-hello,world

【Fusion360】Hello World!