Przeciążenie operatora przypisania
Ostatnio zmodyfikowano 2014-01-19 11:16
tqit71 Temat założony przez niniejszego użytkownika |
Przeciążenie operatora przypisania » 2014-01-18 23:59:34 Ostatnio próbuję napisać własną klasę obsługującą ułamki. Mam problem z operatorem przipisania. Moim celem była możliwość przypisania obiektowi klasy Ulamek wartości w następujący sposób: Całość funkcji operatorowej: Ulamek Ulamek::operator =( string ulamek ) { int licznik = 0; int pozycja = 0; int koniec = 0; do { if( ulamek[ licznik ] == '/' ) { pozycja = licznik; break; } else licznik++; } while( 1 ); string licz, mian; licz.assign( ulamek, 0, pozycja ); mian.assign( ulamek, pozycja + 1, ulamek.size() - pozycja ); return Ulamek( atoi( licz.c_str() ), atoi( mian.c_str() ) ); }
W returnie wywołanie konstruktora Ulamek(int licznik, int mianownik). Kompilator w odpowiedzi wypluwa: conversion from 'const char [4]' to non-scalar type 'Ulamek' requested
Szczerze mówiąc nie mam pojęcia co z tym zrobić. Byłbym bardzo wdzięczny za rozjaśnienie sytuacji. |
|
Monika90 |
» 2014-01-19 11:16:23 conversion from 'const char [4]' to non-scalar type 'Ulamek' requested |
Upewnij się, że masz #include <string> i zamiast string używaj std::string Poza tym, muszę cię zmartwić, twój operator przypisania niczego nie przypisze. |
|
« 1 » |