首先感谢大家看这个帖子,谢谢。
我初学linux,用的是ubuntu 7.04,写了一个上课时老师讲过的程序,但是问题出了一大堆,
源程序:
#include
#include
using namespace std;
class Student
{
public:
Student(char * pName="no name")
{
cout<<"Create a one student"<
strcpy(name,pName);
noOfStudent++;
cout<
}
~Student()
{
cout<<"Destructing one student"<
noOfStudent++;
cout<
}
static int number()
{
return noOfStudent;
}
protected:
static int noOfStudent;
char name[40];
};
static int Student::noOfStudent=0;
void fn()
{
Student s1;
Student s2;
cout<
}
void main()
{
fn();
cout<<"Student::number()"<
}
编译后的错误提示:
15.1.cpp:24: 错误: 程序中有游离的 ‘\357’
15.1.cpp:24: 错误: 程序中有游离的 ‘\275’
15.1.cpp:24: 错误: 程序中有游离的 ‘\235’
15.1.cpp:30: 错误: 有多余的限定 ‘Student::’ 在成员 ‘noOfStudent’ 上
15.1.cpp:30: 错误: ISO C++ 不允许在类内初始化非常量静态成员 ‘noOfStudent’
15.1.cpp:43: 错误: expected `}' at end of input
15.1.cpp: In constructor ‘Student::Student(char*)’:
15.1.cpp:10: 错误: ‘name’ 在此作用域中尚未声明
15.1.cpp: In static member function ‘static int Student::number()’:
15.1.cpp:26: 错误: expected primary-expression before ‘protected’
15.1.cpp:26: 错误: expected `;' before ‘protected’
15.1.cpp: At global scope:
15.1.cpp:43: 错误: expected unqualified-id at end of input