Write page on template and typename keywords in C++.
After yet another question on the forum, I decided to write something on this
common issue. Now we just need to link to this and get people to read it.
Thanks to mattb on the forum for some links. Caveat: IANALL (I am not a
language lawyer).
diff --git a/doc/C09_TutorialSparse.dox b/doc/C09_TutorialSparse.dox
index 5d9050a..37ec79e 100644
--- a/doc/C09_TutorialSparse.dox
+++ b/doc/C09_TutorialSparse.dox
@@ -110,7 +110,7 @@
 <tr><td>
 \code
 SparseMatrixType mat(rows,cols);
-for (int k=0; k<m1.outerSize(); ++k)
+for (int k=0; k<mat.outerSize(); ++k)
   for (SparseMatrixType::InnerIterator it(mat,k); it; ++it)
   {
     it.value();
@@ -131,6 +131,9 @@
 </td></tr>
 </table>
 
+If the type of the sparse matrix or vector depends on a template parameter, then the \c typename keyword is
+required to indicate that \c InnerIterator denotes a type; see \ref TopicTemplateKeyword for details.
+
 
 \section TutorialSparseFilling Filling a sparse matrix