首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于头文件中struct与class的有关问题

2012-08-21 
关于头文件中struct与class的问题问题很简单..但是很奇怪,大师求解.某个.h头文件中内容如下#ifndef DATA_H

关于头文件中struct与class的问题
问题很简单..但是很奇怪,大师求解.某个.h头文件中内容如下
#ifndef DATA_H
#define DATA_H

struct ParticularData
{
  float x;
  float y;
};

class Data
{
  public:
  Data();
  virtual ~Data();
  float GetA() { return A; }
  void SetA(float val) { A = val; }
  float GetB() { return B; }
  void SetB(float val) { B = val; }
  float GetR() { return R; }
  void SetR(float val) { R = val; }
  float GetAver() { return Aver; }
  void SetAver(float val) { Aver = val; }
  float GetDev() { return Dev; }
  void SetDev(float val) { Dev = val; }
  float* GetNormalData() { return NormalData; }
  void SetNormalData(float* val) { NormalData = val; }
  ParticularData* GetLineFitData() { return LineFitData; }问题点
  void SetLineFitData(ParticularData* val) { LineFitData = val; }//问题点

  void Reset();
  protected:
  private:
  float A;
  float B;
  float R;
  float Aver;
  float Dev;
  float* NormalData;
  PaticularData* LineFitData;//问题点
};

#endif // DATA_H

文件中的内容很简单,就是一个简单的类,在编译的时候编译器报错提示说ParicularData是个未声明的类型,但问题是...他就上面声明了,更奇怪的事,把上面关于Particular的声明注释掉以后,编译器给的错误还是一样...也就是说,写了根没写一样.....郁闷了,求解

[解决办法]

C/C++ code
#ifndef DATA_H#define DATA_Hstruct ParticularData//是一个结构体名{  float x;  float y;};typedef ParticularData * P;//定义一个结构体类型class Data{  public:  Data();  virtual ~Data();  float GetA() { return A; }  void SetA(float val) { A = val; }  float GetB() { return B; }  void SetB(float val) { B = val; }  float GetR() { return R; }  void SetR(float val) { R = val; }  float GetAver() { return Aver; }  void SetAver(float val) { Aver = val; }  float GetDev() { return Dev; }  void SetDev(float val) { Dev = val; }  float* GetNormalData() { return NormalData; }  void SetNormalData(float* val) { NormalData = val; }  P GetLineFitData() { return LineFitData; }//问题点  void SetLineFitData(P val) { LineFitData = val; }//问题点  void Reset();  protected:  private:  float A;  float B;  float R;  float Aver;  float Dev;  float* NormalData;  P LineFitData;//问题点};#endif // DATA_H
[解决办法]
PaticularData* LineFitData;//问题点
ParticularData写错了,少写了个r
[解决办法]
PaticularData* LineFitData;//问题点
打错了吧 

是ParticularData 少个r
[解决办法]
“ParticularData* GetLineFitData() { return LineFitData; }问题点” 这儿没加注释符号
“PaticularData* LineFitData;//问题点” 这儿 PaticularData写错了


[解决办法]
在LZ的程序里看到了拼写不一致的情况,先排除之。

热点排行