Is there any difference between following 2 syntax:
template struct A; // (1)
and
template
No.
§14.1 [temp.param] p5
[...] The top-level cv-qualifiers on the template-parameter are ignored when determining its type.