Compilerfehler nur in .NET?



  • Hallo!
    Die folgenden Klassenmethoden wurden deklariert:

    public:                         // find.
    
      size_type find(const _Self& __s, size_type __pos = 0) const 
        { return find(__s._M_start, __pos, __s.size()); }
    
      size_type find(const _CharT* __s, size_type __pos = 0) const 
        { _STLP_FIX_LITERAL_BUG(__s) return find(__s, __pos, _Traits::length(__s)); }
    
      size_type find(const _CharT* __s, size_type __pos, size_type __n) const;
      size_type find(_CharT __c, size_type __pos = 0) const;
    

    Diese Methoden sind folgendermaßen definiert:

    template <class _CharT, class _Traits, class _Alloc> __size_type__
    basic_string<_CharT,_Traits,_Alloc> ::find(const _CharT* __s, size_type __pos, size_type __n) const 
    {
      if (__pos + __n > size())
        return npos;
      else {
        const const_pointer __result =
          _STLP_STD::search((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish, 
    			__s, __s + __n, _Eq_traits<_Traits>());
        return __result != this->_M_finish ? __result - this->_M_start : npos;
      }
    }
    
    template <class _CharT, class _Traits, class _Alloc> __size_type__
    basic_string<_CharT,_Traits,_Alloc> ::find(_CharT __c, size_type __pos) const 
    {
      if (__pos >= size())
        return npos;
      else {
        const const_pointer __result =
          _STLP_STD::find_if((const _CharT*)this->_M_start + __pos, (const _CharT*)this->_M_finish,
    			 _Eq_char_bound<_Traits>(__c));
        return __result != this->_M_finish ? __result - this->_M_start : npos;
      }
    }
    

    In Visual Studio 6.0 läuft der Compiler durch und in .Net gibt es die folgende Fehlermeldung:
    error C2059: Syntaxfehler: ')'
    in der Zeile

    basic_string<_CharT,_Traits,_Alloc> ::find(_CharT __c, size_type __pos) const
    

    Woran kann es liegen, dass der Compiler von .NET diesen Fehler ausgibt?

    Mit besten Grüßen, Lothar.



  • Irgendein Include-Pfad anders gesetzt, so daß der falsche Header mit einer notwendigen Definition reingezogen wird?


Anmelden zum Antworten