2012-01-20 11 views
2

テンプレートとスコープ解決演算子がついていません。私はこれらの行をファイルで見つけましたが、テンプレート関数呼び出しの前でなぜ私たちが使用しているのか理解できません。私の知る限りでは、変数の前にグローバル変数。すべてのアイデアは:: C++のテンプレート関数呼び出しの前にスコープ解決演算子

#define CREATE_AND_DECODE_TYPE(Type, buffer, pType) \ 
    ::CreateAndDecodeType<Type>(buffer, pType, throwVarBindExceptions, static_cast<Type *>(NULL)) 
+2

いいえ、スコープ解決演算子は変数に限定されません。関数を呼び出すために使用することができます。 –

答えて

6

(冒頭)スコープ解決演算子::役に立ち識別子が現在のスコープに比べて発見され、それなしに、グローバルスコープからの識別子を見つけるために、コンパイラを強制します。

namespace X 
{ 
    namespace std 
    { 
     template<typename T> 
     class vector {}; 
    } 

    std::vector<int>  x;  // This is X::std::vector 
    ::std::vector<int> y;  // This is the std::vector you normally expect (from the STL) 
} 
関連する問題