I recommend learning C++ first, and then worry about "gaming" stuff. Learn C++ to where you are comfortable with it. You don't have to learn absolutely everything, but be able to understand the common stuff (trust me, there are features in the language that you'll never use). I would really recommend learning all the object oriented stuff. Learn about classes. Basically, don't be a C++ programmer who uses C++ to write C programs.
Then get a book about gaming which uses C++. While reading the book, if you hit any C++ code you don't completely understand, go back to the C++ book. You should be able to understand every line of code.
If you're going to do DirectX stuff, I would even recommend learning Windows API's before concentrating too much on DirectX. The Petzold book on Windows 95 is a good book for that. It really teaches you the basics of Win32 API's.
I read a lot of posts on here that are from people missing the "fundamentals". It's cool to be excited about something and want to go after it full bore, but these people need to have a little more patience. I've seen a lot of posts from people "working" on 3D games who are asking some REALLY basic programming questions. I know that if they had spent some time writing other programs in C++ first, they would not be asking the questions they are.
Just my two cents worth...
------------------
-Kentamanos
[This message has been edited by Kentamanos (edited December 02, 1999).]