[SFML][C++] Przeciążenie operatora >>

Odpowiedz Nowy wątek
2015-01-03 14:59
0

Cześć.
Posiadam tablice dwuwymiarową np.

int tab[10][10]

I potrzebuje wysłać tą tablicę w "świat" klasą: sf::Packet
Niestety polecenie:

 
Packet pak; 
    if ( socket.receive(pak) != sf::Socket::Done)
        return false;
        pak >> tab;

Daje:

error: no match for 'operator>>' (operand types are 'sf::Packet' and 'int (*)[10]')|

Także obciążam >>

sf::Packet& operator >>(sf::Packet& packet, int tab[10][10])
{
    return packet >> // i co dalej?
}

Co mam uzupełnić w tej metodzie?

Pozostało 580 znaków

2015-01-03 15:14
0

//Edit.

Próbowałem też TcpSocket 'ami. Połączył się serwer z klientem, wysłano prawidłowo, ale niestety nie podmieniło wysłanej tablicy na tą co została wysłana.

//Serwer

if (socket.send(tab, sizeof(tab)) != sf::Socket::Done)
        return false;

//Klient

if (socket.receive(tab, sizeof(tab), received) != sf::Socket::Done)
return false;

Pozostało 580 znaków

2015-01-03 16:22
Packet pak; 
if (socket.receive(pak)!=sf::Socket::Done) return false;
pak>>tab;
 
sf::Packet &operator>>(sf::Packet &packet,int tab[][10])
  {
   for(int y=0;y<10;++y) for(int x=0;x<10;++x) packet>>tab[y][x];
   return packet;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
Zrobiłem tak samo jak ty i mi nie działało. Ale przeciążyłem również << i teraz działa już wszystko pięknie ładnie. Dziękuje. - wolacinio 2015-01-03 21:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0