ошибка сегментации для начинающего

Я учился создавать и использовать заголовок и немного манипуляций со строками, так как у меня не было ошибок и я мог запустить свою программу, у меня возникла ошибка сегментации. моя программа работает, но я хочу, чтобы избежать segfault на будущее.
Вы можете увидеть, где находится segfault?

main.cpp

#include <string>
#include <stdio.h>
#include <iostream>
#include <header_test.h>
//using namespace std;

int main ()
{
printf("hello world\n");

string x =   test();

return 0;
}

header_test.h

#ifndef TEST_H
#define TEST_H

#include <string>
#include <iostream>
using namespace std;

string test ();

#endif

test.cpp

#include <header_test.h>

string test ()
{
string text;
cout << "Enter your name:  \n";
cin >> text ;

cout << "your name :\n" << text<< "\n";string result;
string s1 = "addition de ";
string s2 = " string \n";
result = s1 + s2;

cout << "\n" << result ;

}

-1

Решение

В test.cpp отсутствует инструкция возврата. Это приводит к плохим вещам.

Так как выглядит result это то, что вы намереваетесь вернуть, вы должны добавить это в качестве последней строки в функции: return result;

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector