当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 编译c++文件时出现的问题...
帖子发表于 : 2009-04-02 20:05 

注册: 2007-04-22 21:53
帖子: 78
送出感谢: 0 次
接收感谢: 0 次
K 19:34:32:
在linux里 用g++编译时碰到个警告 看完似懂非懂
谁帮我大概翻译下谢谢~

在包含自 /usr/include/c++/4.1.3/backward/iostream.h:31 的文件中,
从 balance.cpp:1:
/usr/include/c++/4.1.3/backward/backward_warning.h:32:2: 警告: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

N 19:37:35:
编译的什么代码
K 19:37:47:
一段简单的c++代码

N 19:38:02:
贴上来看看先
K 19:38:18:
#include <iostream.h>
class ACCOUNT{
private:
float balance;
public:
ACCOUNT(float amount){
balance = amount;
}
void deposit(float amount){
balance = balance + amount;
}
int withdraw(float amount){
if(amount>balance){
return 0;
}else{
balance = balance - amount;
return 1;
}}
float get_balance(){
return balance;
}
};

//主函数
int main()
{
ACCOUNT acc1(500);
ACCOUNT acc2(1500);
//存款 取款
acc1.deposit(255.2);
acc2.deposit(500);
acc2.withdraw(700);
acc1.withdraw(700);
acc2.withdraw(350);

cout<<"帐号1的余额还有"<<acc1.get_balance()<<"元\n";
cout<<"帐号2的余额还有"<<acc2.get_balance()<<"元\n";
return 1;
}
N 19:38:45:
#include <iostream>改成这个
N 19:38:49:
试试
K 19:39:03:
好的
K 19:40:13:
g++ -Wall balance.cpp -o balance
balance.cpp: In function ‘int main()’:
balance.cpp:36: 错误: ‘cout’ 在此作用域中尚未声明

N 19:40:36:
加上 using namespace std;
N 19:41:25:
在include之下
K 19:41:31:

K 19:42:05:
好了
K 19:42:18:
这个什么问题阿 不明白
N 19:42:54:
兄弟 看看书 哈 这个不是问题哦
K 19:43:01
我都照书上敲的代码 闷.

:em06 我想知道那段英文代码大概啥意思
还有解决问题中间 为何出现 balance.cpp:36: 错误: ‘cout’ 在此作用域中尚未声明 这个错误
谢谢~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 编译c++文件时出现的问题...
帖子发表于 : 2009-04-02 20:13 

注册: 2009-03-30 22:10
帖子: 17
送出感谢: 0 次
接收感谢: 0 次
把#include <iostream.h>改成 #include <iostream>应该就行了

Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>.

error message的意思是根据新标准,includes后的东西不能写.h后缀


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 编译c++文件时出现的问题...
帖子发表于 : 2009-04-02 20:25 
头像

注册: 2007-09-23 13:36
帖子: 364
送出感谢: 0 次
接收感谢: 2
你需要换本书看了。。。

英文:
/ usr / include中/ C + +语言/ 4.1.3/backward/backward_warning.h : 32:2 :警告: #警告:此文件包含至少一个过时或陈旧的标题。请考虑使用一个32头17.4.1.2节中发现的C + +标准。例子包括替代<X>标题为<Xh>标题为C + +包括,或<iostream>不是过时了头<iostream.h> 。要禁用此警告使用Wno -过时。

/usr/include/c++/4.1.3/backward/backward_warning.h:32:2:警告: #警告:此文件包含至少一个过时或陈旧的头文件。请考虑使用一个 C + +标准 17.4.1.2 节中的 32 个头文件。例子包括用 <X>头文件替换 C + + 的<X.h>头文件,或用<iostream>替换过时了的<iostream.h> 。要禁用此警告使用 -Wno-deprecated

cout 问题查阅 namespace[命名空间]


最后由 hecha 编辑于 2009-04-03 10:14,总共编辑了 1 次

页首
 用户资料  
 
4 楼 
 文章标题 : Re: 编译c++文件时出现的问题...
帖子发表于 : 2009-04-02 20:38 
头像

注册: 2008-01-12 13:07
帖子: 137
送出感谢: 0 次
接收感谢: 0 次
请问是谁在教你C++编程的?如果这位老师连C++标准化都不告诉你,那真是丢人。

原先C++的编程在包含头文件的时候都是以“#include <iostream.h>”开头的,但是经过C++标准化之后,变成“#include <iostream>”,即去除“.h”结尾,以此表示是C++标准库文件。

另外如果你需要使用直接标准化后的“名字空间”(namespace),需要在申明头文件包含的后面加上”using namespace std“,即使用”std“这个名字空间。否则你在调用诸如”cout“,”cin“,之类的专用名词时,需要在前面加上”std::“,变成”std::cout“和”std::cin“。

那段英文其实很简单,你只需要查几个不常见的英文单词就可以知道了。大体的意思就是你包含的头文件已过时,请使用不带.h来替代带.h的头文件。在C++标准库里共有32个库,请查看相应文档(Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard.)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 编译c++文件时出现的问题...
帖子发表于 : 2009-04-03 11:39 

注册: 2007-04-22 21:53
帖子: 78
送出感谢: 0 次
接收感谢: 0 次
谢谢大家,那本书大学时候用的教科书,估计过时了 :em06


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译