当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 20 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 求助 简单的 C++程序(已解决,非常感谢帮忙。。。)
帖子发表于 : 2007-03-13 13:56 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
程序代码如下:
#include <stdio.h>
void main()
{
char my_string[]="Hello world!";
my_print (my_string);
my_print2 (my_string);
}

void my_print(char * string)
{
printf("The string is %s\n",string);
}

void my_print2(char * string)
{
char *string2;
int size,size2,i;
size=strlen (string);
size2=size-1;
string2=(char*) malloc (size+1);
for(i=0;i<size;i++)
string2[size-i]=string[i];

string2[size]='\0';
printf("the string printed backward is %s \n",string2);
}


不知道是不是还少装什么包之类的 ,还是真的存在问题。显示的错误如下:
hello.c:2: error: ‘::main’ must return ‘int’
hello.c: In function ‘int main()’:
hello.c:5: error: ‘my_print’ was not declared in this scope
hello.c:6: error: ‘my_print2’ was not declared in this scope
hello.c: In function ‘void my_print2(char*)’:
hello.c:18: error: ‘strlen’ was not declared in this scope
hello.c:20: error: ‘malloc’ was not declared in this scope

我是新手,刚开始学习,能人们帮帮忙呀。。。。。。。。


最后由 aws453 编辑于 2007-03-16 12:35,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助 简单的 C++程序
帖子发表于 : 2007-03-13 14:10 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
aws453 写道:
不知道是不是还少装什么包之类的 ,还是真的存在问题。显示的错误如下:
hello.c:2: error: ‘::main’ must return ‘int’

很清楚,永远不要写 void main()
尽管很多书上的例子上这样写了,有些编译器也默许了

aws453 写道:
hello.c: In function ‘int main()’:
hello.c:5: error: ‘my_print’ was not declared in this scope
hello.c:6: error: ‘my_print2’ was not declared in this scope

先声明,再使用,c的基本规则,不用说了吧
aws453 写道:
hello.c: In function ‘void my_print2(char*)’:
hello.c:18: error: ‘strlen’ was not declared in this scope
hello.c:20: error: ‘malloc’ was not declared in this scope

先include必须的头文件
aws453 写道:
我是新手,刚开始学习,能人们帮帮忙呀。。。。。。。。

好好补充些c/c++的知识


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-03-13 17:59 
头像

注册: 2006-04-08 22:07
帖子: 250
送出感谢: 0 次
接收感谢: 0 次
完全是C阿


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-03-14 9:56 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
谢谢。。。 :D


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-03-14 10:26 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
hello.c: In function ‘my_print2’:
hello.c:13: warning: incompatible implicit declaration of built-in function ‘strlen’
hello.c:15: warning: incompatible implicit declaration of built-in function ‘malloc’

改了后显示的警告。。。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-03-14 10:37 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
#include <iostream.h>
using namespace std;

class Hello {
public:
void Hello(int,int);
void Display();
private:
int day;
int month;
} ;

void Hello::Hello(int d,int m)
{
day=d;
month=m;
}
void Hello::Display()
{
cout<<"Hello,World!\n"<<endl;
}
int main()
{
Hello theHello;
theHello.Hello(14,03);
theHello.Display();
return 0;
}
显示的 错误:
aws@ubuntu:~/myRun$ g++ -c Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files

但目录下确实存在Hello.cpp 文件的 呀。。。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-03-14 11:42 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
g++ -o Hello Hello.cpp


_________________
Titainium


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-03-14 11:43 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
aws453 写道:
#include <iostream.h>
using namespace std;

去掉.h

aws453 写道:
显示的 错误:
aws@ubuntu:~/myRun$ g++ -c Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files

但目录下确实存在Hello.cpp 文件的 呀。。。


检查一下文件名的大小写


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-03-15 9:41 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
ls 上的,为什么要去掉 .h 呀?我去掉后还是显示:
aws@ubuntu:~/myRun$ g++ -c Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files
aws@ubuntu:~/myRun$ g++ -o Hello Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files

觉得和文件名大小写没什么关系吧!


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-03-15 10:38 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
iostream.h是旧式的写法,这种形式的头文件将namespace里面的东西全部放到全局变量里面去了,换句话说就是没有namespace,这是为了和老式的C++编译器兼容而额外编写的头文件。

另外,你试一试我的那句编译命令。


_________________
Titainium


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-03-15 11:38 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
aws453 写道:
ls 上的,为什么要去掉 .h 呀?我去掉后还是显示:
aws@ubuntu:~/myRun$ g++ -c Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files
aws@ubuntu:~/myRun$ g++ -o Hello Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files

觉得和文件名大小写没什么关系吧!


记住一点,linux/unix 对大小写是敏感的


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-03-15 13:28 

注册: 2007-03-12 13:31
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
titainium 写道:
iostream.h是旧式的写法,这种形式的头文件将namespace里面的东西全部放到全局变量里面去了,换句话说就是没有namespace,这是为了和老式的C++编译器兼容而额外编写的头文件。

另外,你试一试我的那句编译命令。


我把 .h 去掉了 ,然后用你上面的命令: g++ -o Helle Hello.cpp 还是显示:
aws@ubuntu:~/myRun$ g++ -o Hello Hello.cpp
g++: Hello.cpp: No such file or directory
g++: no input files

哪位能人有时间,帮帮忙调试一下,我实在是不知道怎么找出错误在哪。。。。。。 :( :( :( :( :( :( :(


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2007-03-15 14:35 

注册: 2006-11-03 8:49
帖子: 116
地址: Halifax
送出感谢: 0 次
接收感谢: 0 次
现不说你的文件能不能找的到,程序就有问题阿!
代码:
#include <iostream>
using namespace std;

class Hello
{
public:
  Hello(){}
  Hello(int, int);
  void Display();
private:
  int day;
  int month;
}hello;

Hello::Hello(int a, int b)
{
  day = a;
  month = b;
  cout<<"The date is "<<day<<'-'<<month<<endl;
}

void Hello::Display()
{
  cout<<"This is a class testing!"<<endl;
}

int main()
{
  int a = 18, b = 4;
  Hello(a, b);
  hello.Display();
  return 0;
}


把我的保存成任意名称,后缀名cpp。编译看看。


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2007-03-15 14:35 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
我只想问你一句:

你的文件名是 Hello.cpp , 还是 hello.cpp


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2007-03-15 15:45 
头像

注册: 2005-08-15 0:04
帖子: 1880
地址: 南7技校
送出感谢: 0 次
接收感谢: 0 次
楼主在当前目录下面执行 ls 然后把结果贴出来吧.


_________________
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 20 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

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


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

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

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