免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1043 | 回复: 9
打印 上一主题 下一主题

帮忙看看什么原因! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-15 11:26 |只看该作者 |倒序浏览
#include <iostream>;
        #include <cctype>;

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

        void ShowAllUppers(char* const str);

        int main()
        {
                char hb[] = "Happy birthday";
                ShowAllUppers(hb);
                return 0;
        }

        void ShowAllUppers(char* const str)
        {
                int i = 0;
                while(*(str+i))
                {
                        *(str+i) = std::toupper(*(str+i));
                        i++;
                }
                std::cout<<str;
        }

编译后提示:
Compiling...
constptr.cpp
E:\battlefiled\constptr.cpp(22) : error C2039: 'toupper' : is not a member of 'std'
Error executing cl.exe.

constptr.exe - 1 error(s), 0 warning(s)

论坛徽章:
0
2 [报告]
发表于 2005-01-15 11:48 |只看该作者

帮忙看看什么原因!

编译器好像不支持名称空间。

论坛徽章:
0
3 [报告]
发表于 2005-01-15 16:48 |只看该作者

帮忙看看什么原因!

楼主用的是什么编译器?

论坛徽章:
0
4 [报告]
发表于 2005-01-15 20:15 |只看该作者

帮忙看看什么原因!

[quote]原帖由 "kj501"]楼主用的是什么编译器?[/quote 发表:


VC6.0.不会呀,名字空间支持的,cout和endl就可以

论坛徽章:
0
5 [报告]
发表于 2005-01-16 00:25 |只看该作者

帮忙看看什么原因!

我cygwin下的 g++编译也没有错

论坛徽章:
0
6 [报告]
发表于 2005-01-16 09:45 |只看该作者

帮忙看看什么原因!

原帖由 "gftgft" 发表:


VC6.0.不会呀,名字空间支持的,cout和endl就可以

换成vc.net试试看。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-01-16 09:57 |只看该作者

帮忙看看什么原因!

你用的是头文件<cctype>;对VC6不熟,没用过.
但可能VC6没有把原来的C头文件用标准的方式来实现,而对C++的头文件可以用标准的方式写,像一般还是带.h的.所以你要么用<ctype.h>;要么用using namespace std;试试.

论坛徽章:
0
8 [报告]
发表于 2005-01-16 10:42 |只看该作者

帮忙看看什么原因!

注意c99的支持,打打vc6.0的sp试试.

论坛徽章:
0
9 [报告]
发表于 2005-01-16 11:21 |只看该作者

帮忙看看什么原因!

原帖由 "gftgft" 发表:
py birthday";
                ShowAllUppers(hb);
                return 0;
        }

        void ShowAllUppers(char* const str)
        {
                int i = 0;
                while(*(str+i))
                {
                        *(str+i) = std::toupper(*(str+i));
                        i++;
                }
                std::cout..........

在msdn6.0的索引中敲入toupper,就知道了

论坛徽章:
0
10 [报告]
发表于 2005-01-16 11:41 |只看该作者

帮忙看看什么原因!

原帖由 "ddddddddd" 发表:

在msdn6.0的索引中敲入toupper,就知道了

这种用法是可以,说到底还是名称空间问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP