I\'m having some issues passing vectors to functions. My concern is not with my logic itself, as if I need to adjust later I will. My program requirements state that I must
You're not resizing the vectors/matrices to the dimensions that the user put in - they're stuck at row == 0, col == 0 because that's what the two variables default to.
You'd want to look at vector::resize() to update the dimensions of the vector after the user input.