Dlaczego program się wysypuje?

Odpowiedz Nowy wątek
2011-08-06 23:36
Lubie cycki:)
0
#include <iostream>
#include <cstring>
 
using namespace std;
 
#define T_SIZE 1001
 
char* string_merge(char *, char *);
 
int main(){
  int t,n; 
  char S1[T_SIZE], S2[T_SIZE], *S;
 
  cin >> t; /* wczytaj liczbę testów */
  cin.getline(S1,T_SIZE); 
  while(t){ 
    cin.getline(S1,T_SIZE,' ');
    cin.getline(S2,T_SIZE);      
    S=string_merge(S1,S2);
    cout << S << endl;
    delete[] S;
    t--;   
  } 
  return 0;
}
 
char* string_merge(char *S1, char *S2){
       return S1;
}

Dlaczego program mi się wysypuje, gdzie mam błąd?

Pozostało 580 znaków

2011-08-06 23:39
0

Już pomijając fakt, że string_merge w żadnym wypadku nie łączy stringów to zastanów się co próbujesz usunąć operatorem delete. Operatorem delete zwalnia się pamięć zaalokowaną operatorem new


char string_merge(char S1, char *S2){ return S1;} Chyba to wkleję do wątku o WTF :D - msm 2011-08-06 23:50
'Operatorem delete zwalnia się pamięć zaalokowaną operatorem new' dzięki @byku_guzio - Lubie cycki :) 2011-08-07 00:59

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