我有一个保存音频数据字节的类:
class clsAudioData
{
private:
unsigned char *m_content;
long m_size;
public:
clsAudioData();
~clsAudioData();
void Load(string file);
long Size();
unsigned char *Content();
void LoadContent(long size, FILE *f);
};
void clsAudioData::LoadContent(long size, FILE *f)
{
m_size =size;
m_content = new unsigned char[m_size];
fread(m_content, sizeof(unsigned char), m_size,f);
}
我正在尝试在某些位置打印f值。 为此,我尝试:
for (int i = 0; i < 20; i++)
{
printf("audio data = %d\n", nAudioData.Content[i]);
}
编译器告诉我:
clsAudioData::Content Function doesn't accept 1 argument
如何在特定索引处访问“元素”以进行打印?
谢谢。
答案 0 :(得分:3)
您必须调用 Content
函数:nAudioData.Content()[i]
。
放在一边:请将m_content
设为std::vector<unsigned char>
。您泄漏内存的机会要少得多。