The object you pass doesn't need to be const, but you are (supposed to be) guaranteed that the AdjustDL() function will not modify it.
Unless you are using C++0x, you are going to have trouble with the ">>" in your templates. (And just because your compiler is smart enough to handle it doesn't mean anything...)
Make sure you put a space between them. My personal preference is to put a space before every template < and after every template >, like this: void AdjustDL( const vector <vector <int> > & );
When you call the funciton, you don't give the type.
1 2 3 4 5 6 7 8 9 10 11 12 13
// this is a prototype
void AdjustDL (const vector<vector<int>>& adjMat);
// ^
// |
// Specify the type
// this is how you call the function:
AdjustDL( adjMat );
// ^
// |
// don't specify the type