------- Comment #4 from bangerth at dealii dot org 2006-11-01 22:57 ------- You don't need a cast when converting to pointer, but the data type of "0" is still int. When determining the type of a template parameter, it therefore tries to to make the template parameter 'int'.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29577