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

类内指针成员赋值解决方法

2012-02-11 
类内指针成员赋值class sound_vars{protected:static s8*mixBufferBasestatic s8*curMixBufferstatic u3

类内指针成员赋值
class sound_vars
{
 protected:
  static s8 *mixBufferBase;
  static s8 *curMixBuffer;
  static u32 mixBufferSize;
  u16 mixFreq;
  u16 rcpMixFreq;
  s16 samplesUntilMODTick;
  u16 samplesPerMODTick;
  static u8 activeBuffer;
  public:
  static void SndVSync();
  void vars_init(SND_FREQ freq);
  void vars_mix(s16 *buffer, u32 *i, u32 samplesToMix);
  void vars_Tempo(u32 tem);
  u16 get_rcpMixFreq();
};
u32 sound_vars::mixBufferSize = 0;
s8 sound_vars::*mixBufferBase = 0;
s8 sound_vars::*curMixBuffer = 0;
u8 sound_vars::activeBuffer = 0;


s8 sndMixBuffer[736*2];

 void sound_vars::vars_init(SND_FREQ freq)
 {
  // initialize main sound variables
  mixBufferSize = freqTable[freq].bufSize;
  mixBufferBase = sndMixBuffer; //(1)
  curMixBuffer = mixBufferBase; //(2)
  activeBuffer = 1; 

  mixFreq = freqTable[freq].freq;
  rcpMixFreq = (1<<28)/mixFreq;
 }

makefile在生成obj文件时,报错
main.o(.text+0x170): In function `sound_vars::vars_init(SND_FREQ)':
: undefined reference to `sound_vars::curMixBuffer'
main.o(.text+0x174): In function `sound_vars::vars_init(SND_FREQ)':
: undefined reference to `sound_vars::mixBufferBase'

问题应该出在标注(1)和(2)的两个地方,有高人能帮忙解决一下吗,谢谢。 


说明:本人在做GBA上的MOD音乐播放器,有这方面编程经验的人士能给予一些帮助或留下联系方式,谢谢。
本人QQ:106611034
MSN:ndq880815@hotmail.com

[解决办法]
s8 sound_vars::*mixBufferBase = 0;
s8 sound_vars::*curMixBuffer = 0;

这两行这么改一下看看:

s8* sound_vars::mixBufferBase = 0;
s8* sound_vars::curMixBuffer = 0;

热点排行