>>862
> グローバルスコープの::って、左に何か付けるんでしょうか?
グローバルスコープにある識別子(変数や関数名、enum 値)にアクセスする場合
には、何もつけません。

  ::CoInitialize(NULL);

みたいに書けば OK。

C だと名前はグローバルスコープ以外には置けませんが、C++ だと namespace
やクラスに閉じ込めることが出来ます。

namespace Block
{
  enum { PADDLE_PLAYER1, PADDLE_PLAYER2 };
}

たとえばこんな感じに書くと enum 値は Block 名前空間に属することになるので


 Blcok::PADDLE_PLAYER1

と書いてアクセスできます。所属する名前空間が異なれば、同じ識別子があって
も衝突せずに併用できます。

あと、特定の名前空間の識別子を選択的、あるいはまとめて現在のスコープに
導入する方法 (using namespace) があるので、実際にはそれを使うことが多い。