[Tex/LaTex] Why does >{\centering} in the column spec produce an error

columnshorizontal alignmenttables

I want to create a column in a tabular with column specifier 'p' and centred text. I have tried to achieve this using the example below.

\documentclass{article}

\usepackage{array}

\begin{document}

\begin{table}
  \begin{tabular}{c l >{\centering}p{2cm}}
    a & b & c \\
    a & b & c 
  \end{tabular}
\end{table}

\end{document}

Why does this create the following error, and what is the correct way to do this?

! Extra alignment tab has been changed to \cr.
<recently read> \endtemplate 

l.10     a &
             b & c
You have given more \span or & marks than there were
in the preamble to the \halign or \valign now in progress.
So I'll assume that you meant to type \cr instead.

I'm using Miktex 2.9

Best Answer

\documentclass{article}    
\usepackage{array}
\begin{document}

  \begin{tabular}{ c l >{\centering\arraybackslash}p{2cm}}
    a & b & c \\
    a & b & c 
  \end{tabular}

\end{document}

\centering redefines the double backslash. However, a better choice is to use

\documentclass{article}    
\usepackage{array,ragged2e}
\begin{document}

  \begin{tabular}{ c l >{\Centering}p{2cm}}
    a & b & c \\
    a & b & c 
  \end{tabular}

\end{document}