问一个比较郁闷的问题(关于wchar_t和dynamic_cast的)

laogaifan 2004-02-09 02:22:32
//file name:Hello.cpp
#include "Hello.h"

int wmain(int argc,wchar_t *argv[])
{
wchar_t *wsz=new wchar_t[100];
cin>>wsz; //1.error
cout<<a(wsz);
delete[] wsz;
}

int a(const wchar_t* const wsz)
{
int num=0;
wchar_t* wch;
for(wch=dynamic_cast<wchar_t*>(wsz);*wch;wch++) //2.error
{
if(*wch==L'a')
num++;
else
;
}
return num;
}



//file name:Hello.h

#include <iostream>
#include <cwchar>

using std::cout;
using std::endl;
using std::cin;

int a(const wchar_t* const);

编译后,有两处错误:
1. error C2679:e:\MyProjects\Hello\Hello.cpp(6): error C2679: 二进制“>>” : 没有找到接受“<未知>”类型的右操作数的运算符(或没有可接受的转换)
2. error C2680:e:\MyProjects\Hello\Hello.cpp(15): error C2680: “wchar_t *” : dynamic_cast 的目标类型无效

有如下问题:
1.wchar_t* 字符串应该怎么输入和输出;
2.第二处错误谁来解释一下;

请各位高手帮忙解决,Thanks
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧