AA[key] = {a,b,c}; fails. T a = {a,b,c}; AA[key] = a; passes. The extra line is required simply to work, but there should be no difference semantically.