读书人

重新发贴:ubuntu下编译用g++编译文件

发布时间: 2012-05-24 11:55:41 作者: rapoo

重新发贴:ubuntu下编译用g++编译文件的报错:未声明成员函数???
抱歉,刚才误点回车,重新发贴吧。
最近学习用ubuntu 和vim ,各种插件差不多弄清楚了,等熟悉一下发博客总结经验。下面进入正题:

用vim 写好了测试编译的文件:如下,
main.cpp

C/C++ code
#include  <iostream>#include    "cat.h"using namespace std;void function ( int a, int b ){    cout<<"Hello world"<<endl;}int main (){    Cat myCat;    function(3,8);    char str[10];    cin >> str;    cout << str <<endl;    myCat.show();    myCat.cppshow();    cout << "Hello world" << endl;    return 0;}

cat.h:
C/C++ code
#ifndef  CAT_H#define  CAT_Hclass Cat{private:    char name[10] ;public:    void show();    void cppshow();    void cinName ( char *str);};#endif  /*CAT_H*/

cat.cpp:
C/C++ code
#include    "cat.h"#include  <iostream>using namespace std;void Cat::show(){    cout << "I am the function show" <<endl;}void Cat::cppshow(){    cout << "I am in the function cppshow" << endl;}void Cat::cinName ( char *str ){    cin >> name;}


在控制台下用g++编译。开始是没有void cinName(char * str)的,编译很顺利。后来随手加上了void cinName(char * str)这个函数。现在的样子。重新编译却出现错误:cat.cpp:14:31: 错误: 成员函数‘void Cat::cinName(char*)’未在类‘Cat’中声明
编译命令:g++ main.cpp cat.cpp -o main

代码有问题么?还是其他问题,怎么解决?
顺便问一下,在linux下编译有什么更好更合理的编译方法么?

[解决办法]
或者头文件没保存就编译了?
[解决办法]
恭喜楼主!
更新了.h文件以后一定要将.gch文件删除

读书人网 >C++

热点推荐