0
Valgrindツールはコード内で次のエラーを検出しません。クラスオブジェクトの可変レベルメモリエラー検出
#include <iostream>
#include <string.h>
using namespace std;
class Instrument
{
public:
char instrumentId[16];
char symbol[16];
char cusip[16];
public:
void Pack()
{
memset(instrumentId, 'I', 16);
memset(cusip, 'C', 16);
memset(symbol, 'S', 18); // This is wrong
}
};
int main(int argc, char** argv)
{
Instrument* ins = new Instrument();
ins->Pack();
};
これらのタイプのエラーを検出できるツールはありますか? Valgrindによって "Instrument"のために割り当てられた以上に書き込みが検出されたとき。しかし、これは検出されません。
注: '#include ' –
memsetはどうですか? –
@DieterLückingなぜですか? –