You shouldn't look at pair programming in what language one knows better than the other, I believe if you want a program to be done in C++ pick 2 people that are good at that, or a fast learner, the same goes to any other language/technology.
Try looking at other assets that the two might have, they should have always different approaches, if they fight over ideas that's a good thing because from 2 good ideas a great one might be found, unless it gets ugly.
Also a pair should always be of people with similar skills otherwise one will be doing all the work and the other trying to catch up, worst case scenario it will take double, or more, of the time as if the best person would be doing it all alone, as he will always be explaining what he does.
This is from my experience at university as we always do works in teams, working with people that have similar skills, to me, has always proved to be more rewarding.