LINUX.ORG.RU

Что за: «Segmentation fault»


0

0

Я недавно перешел на Linux, попробовал кодить. g++ все компильнул, создал a.out, но при запуске проги - (см. заголовок)
Програ элементарная:
#include <iostream.h>

class a
{
public:
     int b;
     a();
     ~a();
}

int main()
{
a b;
}

a::a()
{
char *a="";
char *b="";
cin >> a;
cin >> b;
if (strcmp(a, b)==0)
       {return 1;}
else {return 0;}

}
anonymous

char *a=""; char *b=""; заменить на char a[100]; char b[100];

потому как, мало того что этот массив у тебя почти нулевой, так он еще у тебя и const char

Dead ★★★★
()

>> заменить на char a[100]; char b[100]

Плохой совет.

лучше так:

std::string a, b; std::cin >> a >> b; return (a == b) ? 1 : 0;

abbr
()

А какая сермяга в том, что из конструктора пытаются вернуть значение? Конструктор должен или просто создавать инициализировать объект или кидать эксепшн. Такое я впервые вижу...

anonymous
()

Да с конструктором эт оргинально :)

Dead ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.