* unsigned char中索引值

时间:2018-10-01 12:34:24

标签: c++ visual-studio-2017

我有一个保存音频数据字节的类:

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

如何在特定索引处访问“元素”以进行打印?

谢谢。

1 个答案:

答案 0 :(得分:3)

您必须调用 Content函数:nAudioData.Content()[i]

放在一边:请将m_content设为std::vector<unsigned char>。您泄漏内存的机会要少得多。