Я учился создавать и использовать заголовок и немного манипуляций со строками, так как у меня не было ошибок и я мог запустить свою программу, у меня возникла ошибка сегментации. моя программа работает, но я хочу, чтобы избежать 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 ;
}
В test.cpp отсутствует инструкция возврата. Это приводит к плохим вещам.
Так как выглядит result
это то, что вы намереваетесь вернуть, вы должны добавить это в качестве последней строки в функции: return result;
Других решений пока нет …