Dlaczego program się wysypuje?

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?

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

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