| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1545 人关注过本帖
标题:输出hello world的问题?
只看楼主 加入收藏
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
 问题点数:0 回复次数:6 
输出hello world的问题?
我用VS2005建了一个名为“bubble"的工程,想先玩一个最简单。可还是遇到了问题。
void CbubbleView::OnDraw(CDC* pDC)
{
    CbubbleDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;

    // TODO: 在此处为本机数据添加绘制代码
    CRect object;
    GetClientRect(&object);
    int x=object.right/2,y=object.bottom/2;
    pDC->SetTextAlign(TA_CENTER|TA_BASELINE);
    pDC->TextOutW(x,y,"Love Fan Forever!");
}//这是我输出HELLOWORLD的代码,下面是错误提示:
1>正在编译...
1>bubbleView.cpp
1>d:\my documents\visual studio 2005\projects\bubble\bubble\bubbleview.cpp(62) : error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [18]' to 'const CString &'
1>        Reason: cannot convert from 'const char [18]' to 'const CString'
1>        Constructor for class 'ATL::CStringT<BaseType,StringTraits>' is declared 'explicit'
1>        with
1>        [
1>            BaseType=wchar_t,
1>            StringTraits=StrTraitMFC_DLL<wchar_t>
1>        ]

请问是怎么回事,要怎样修改,谢谢!!!
搜索更多相关主题的帖子: hello world 输出 
2008-03-23 22:27
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
pDC->TextOutW(x,y,"Love Fan Forever!");?
pDC->TextOut(x,y,"Love Fan Forever!");
改过就对了。。。。

[[it] 本帖最后由 sunkaidong 于 2008-3-23 22:41 编辑 [/it]]

学习需要安静。。海盗要重新来过。。
2008-03-23 22:36
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
忘了说我建的是MFC 应用程序工程,还是就是输出内容被我改了,不是hello world了,呵呵!
谢谢!

i like linux...
2008-03-23 22:36
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
谢谢二楼,两个我都试了,但都会出现同样的错误,按错误提示:
Constructor for class 'ATL::CStringT<BaseType,StringTraits>' is declared 'explicit',可能跟explicit这个关键字有关,但我不知往哪能去改,还望指教,谢谢!

[[it] 本帖最后由 zjl138 于 2008-3-24 06:55 编辑 [/it]]

i like linux...
2008-03-23 22:39
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
我没用模板。。。不知道你做什么。。
explicit
C++ Specific

This keyword is a declaration specifier that can only be applied to in-class constructor declarations. Constructors declared explicit will not be considered for implicit conversions. For example:

class X {
public:
   explicit X(int);      //legal
   explicit X(double) {   //legal
      // ...
   }
};

explicit X::X(int) {}      //illegal
An explicit constructor cannot take part in implicit conversions. It can only be used to explicitly construct an object. For example, with the class declared above:

void f(X) {}
void g(int I) {
   f(i);      // will cause error
}
void h() {
   X x1(1);      // legal
}
The function call f(i) fails because there is no available implicit conversion from int to X.

Note   It is meaningless to apply explicit to constructors with multiple arguments, since such constructors cannot take part in implicit conversions.

END C++ Specific

学习需要安静。。海盗要重新来过。。
2008-03-23 22:56
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
很感谢楼上,可是我试着把pDC->TextOutW(x,y,"Love Fan Forever!");改为
pDC->TextOut(x,y,"Love Fan Forever!");
再编译,错误竟然一样。
>d:\my documents\visual studio 2008\projects\helloworld\helloworld\helloworldview.cpp(59) : error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [13]' to 'const CString &'
1>        Reason: cannot convert from 'const char [13]' to 'const CString'
1>        Constructor for class 'ATL::CStringT<BaseType,StringTraits>' is declared 'explicit'
1>        with
1>        [
1>            BaseType=wchar_t,
1>            StringTraits=StrTraitMFC_DLL<wchar_t>
1>        ]
1>Generating Code...
1>Skipping... (no relevant changes detected)
1>HelloWorld.cpp
1>HelloWorldDoc.cpp
1>MainFrm.cpp

i like linux...
2008-03-24 07:08
zjl138
Rank: 1
等 级:新手上路
威 望:1
帖 子:788
专家分:0
注 册:2007-11-12
收藏
得分:0 
行了,我晕,查MSDN,看得头晕晕的,终于被我看出来了,只要把
pDC->TextOut(x,y,"Love Fan Forever!");改为:
pDC->TextOut(x,y,_T("Love Fan Forever!"));
就什么事都没了。
非常感谢sunkaidong帮助,谢谢!

i like linux...
2008-03-24 12:47
快速回复:输出hello world的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023912 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved