c++标准库random输出的全是1

问题遇到的现象和发生背景

用了c++标准库random
想生成1-600范围内的随机数
但是输出的全是1
不知道为什么
希望有知晓的告知下
感激不尽

问题相关代码,请勿粘贴截图
#include <iostream>
#include <string>
#include <cstdlib>
#include <random>

using namespace std;

typedef struct
{
    int *elem;//动态数组
    int length;//表长度
}SSTable;

int main()
{
    SSTable a;
    //申请一块内存,存放int数组
    a.elem=(int *)malloc(1024);
    a.length=0;
    //给数组赋值1..100
    //for(int i=0;i<100;i++){
      // a.length++;
//        cout<<a.length<<endl;

        //生成随机数,在1~600之间
        for(int i=0;i<100;i++){
            default_random_engine generator;
            uniform_int_distribution<int> distribution(1,600);
            cout<<distribution(generator)<<endl;
        }


       // cout<<a.elem[i]<<endl;
    //}

//    cout<<"kkk:"<<a.length<<endl;
//    for(int i=0;i<a.length;i++){
//        cout<<a.elem[i]<<endl;
//    }

    free(a.elem);
    return 0;
}

运行结果及报错内容

输出很多个1

我的解答思路和尝试过的方法

我想要达到的结果

想生成1-600范围内的随机数

在创建完generator加一个种子设置看看
generator.seed(9527);