c++关于类对象定义的一个基础问题

在凌晨

int main()
{
  class a = new (A);
}

运行结果及报错内容
我的解答思路和尝试过的方法

new函数返回的不是一段地址吗,怎么可以用class a这种非地址变量去接一个地址呢?不应该是class *a = new (A)这样子吗?
为什么我看挺多人都是写的第一种

能不能发一下“挺多人”写的代码,我瞅一瞅。