mainより上で

struct test{int x=0};
struct test obj;
obj.x=99;

ってやると三行目がエラーなんだけどなんでダメなん?
技術的になんでダメなのか教えてください