Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] String []

Ostatnio zmodyfikowano 2011-06-24 13:37
Autor Wiadomość
SeaMonster131
Temat założony przez niniejszego użytkownika
[C++] String []
» 2011-06-24 12:10:06
No hm, mam taki problem:
C/C++
string wyraz;

for( int i = 0; i < wyraz.length(); i++ )
{
    if( wyraz[ i ].compare( " " ) == 0 )
         continue;
   
    //...
}

Tam gdzie jest
wyraz[ i ]
 występuje błąd, którego nie rozumiem.. :) Dlaczego? Przecież bez problemu mogę napisać
cout << wyraz[ 0 ];
 itd, a tutaj tak nie mogę?

Jakby ktoś jeszcze chciał ten błąd to prosze:
error: request for member 'compare' in 'wyraz.std::basic_string<_CharT, _Traits, _Alloc>::operator[] [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>](((unsigned int)i))', which is of non-class type 'char'|
P-34565
Łukasz123
» 2011-06-24 12:24:54
C/C++
string * wyraz = new string;
for( int i = 0; i < wyraz->length(); i++ )
{
    if( wyraz[ i ].compare( " " ) == 0 )
         continue;
   
    //...
}
niby się kompiluję..
P-34567
michalp
» 2011-06-24 12:26:13
A co zwraca
operator []
?
P-34568
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2011-06-24 12:31:15
szczerze? Nie mam pojęcia.... :) Wydaje mi się, że wartość "pola" podanego w nawiasie kwadratowym, czy coś takiego..
P-34569
npHard
» 2011-06-24 12:35:26
P-34570
GoldWolf
» 2011-06-24 12:38:11
Tutaj masz przykład:
http://www.cplusplus.com/reference/string/string/compare/

Może chodzi o to, że masz mieć (' ') szukasz spacji, czyli jednego znaku, a dałeś (" ") ciąg znaków.
P-34571
michalp
» 2011-06-24 12:42:34
Podpowiedź (a właściwie odpowiedź) masz w komunikacie błędu.
P-34572
SeaMonster131
Temat założony przez niniejszego użytkownika
» 2011-06-24 12:46:09
w tym wypadku [] zwraca mi odwołanie do znaku w ciągu znaków, czyli char. Dobrze myślę?
P-34574
« 1 » 2
  Strona 1 z 2 Następna strona