C++ で動的テーブルを作成する際に問題が発生しました。私のプログラムは壊れて叫びます:
xxx.exe の 0x75914598 で未処理の例外: Microsoft C++ 例外: メモリ位置 0x0107F73C の std::bad_alloc。
私が欠けているものがあることを知っているので、親切にして、どこをどのように修復するかを教えてください. にll
はランダムな値があります(ただし、下のコードのように値を設定しても同じエラーが発生するため、問題は次のコードにあります)、別の関数で生成されます(問題はこのコードにあります:/)。
完全なコード: http://pastebin.com/Gafjd5Um
コード:
#include <iostream>
#include <math.h>
#include <cstdio>
#include <locale.h>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <vector>
class GeneratePass
{
private:
//int length;
int ll=5;
char *lowertab;
public:
void ChooseLenght();
void CreateList();
GeneratePass()
{
lowertab = new char[ll];
}
~GeneratePass()
{
delete[] lowertab;
}
};
void GeneratePass::CreateList()
{
srand( time( NULL ) );
int i, j;
for( i = 0; i < ll; i++ )
{
lowertab[ i ] =( char )( rand() % 24 ) + 97;
}
for( i = 0; i < ll; i++ )
{
cout << lowertab[ i ];
}
}
int main()
{
GeneratePass create;
create.CreateList();
return 0;
}