Here is a MWE that illustrates your problem:
\documentclass{article}
\begin{document}
\begin{table}
\begin{tabular}{r|r}
[some text ] & ... \\
[more text ] & ... \\
\end{tabular}
\end{table}
\end{document}
The issue is that \\[1 in] is used at the end of a line to skip 1in (for instance) of additional vertical space. So \\ is a macro and [1in] is an optional argument to that macro.
When TeX reads \\, then newline, then [, it ignores the newline (as it normally does with all whitespace after a macro) and proceeds as if it were expanding \\[more text ]. But this clearly doesn't make any sense since more text is not a length, in particular it doesn't start with a number. Hence the error: Missing number, treated as zero. Illegal unit of measure.
It wasn't reproduced in your original MWE because you had only one line with bracketed text at the beginning and \\ at the end. It happens between the end of one line and the beginning of another.
As Sigur suggests, you can keep TeX from expanding this way by putting braces around the bracketed text. TeX will expand \\{[more text ]} the expected way since it doesn't "look" like an optional argument is being used anymore. egreg's suggestion of \\\relax will similarly inhibit the macro processor from reading the bracketed text as an optional argument.
{}(an idiom that solves some other problems too) than to remember\relax. But it's nice to know both. – Ethan Bolker Jan 24 '13 at 23:16\relaxIt doesn't make any difference here but if you are using array rather than tabular or a math column in a tabular with>{$}or similar{}can alter the spacing whereas\relaxwill not. – David Carlisle Jan 26 '13 at 15:19{}is wrong in math mode (arrayand friends), as shown here: http://tex.stackexchange.com/questions/86385/what-is-the-difference-between-relax-and/86387#86387 – yo' Jan 26 '13 at 16:21