Создание структур C++

418
09 ноября 2017, 06:28

Не очень понимаю, что я делаю не так. Программа просто завершается (с кодом 0) и ничего не выводит.

struct Date {
    int day;
    int month;
    int year;
    char *toString() {
        char *out = nullptr;
        sprintf(out, "%d-%d-%d", day, month, year);
        return out;
    }
    Date(int day, int month, int year) {
        this->day = day;
        this->month = month;
        this->year = year;
    }
};
int main() {
        Date *date = new Date(25, 11, 17);
        printf("%s", (*date).toString());
}
Answer 1

Ну кто же пишет по нулевому адресу?

    char *out = nullptr;
    sprintf(out, "%d-%d-%d", day, month, year);

Сделайте, например, так:

struct Date {
    int day;
    int month;
    int year;
    char buf[20];
    char *toString()
    {
        sprintf(buf, "%d-%d-%d", day, month, year);
        return buf;
    }

и в конструкторе еще сразу же вызов toString() или buf[0]=0;.

READ ALSO
Ошибка [Error] expected primary-expression before '}' token

Ошибка [Error] expected primary-expression before '}' token

При компиляции выводит 10 48 [Error] expected primary-expression before '}' token Уже полчаса бьюсь, что делать?

301
Segmentation fault при использовании структуры addrinfo в sendto

Segmentation fault при использовании структуры addrinfo в sendto

Есть такая обёртка для подключения:

286
Чтение из COM порта С++

Чтение из COM порта С++

Есть такой код:

337
C++ DLL библиотеки

C++ DLL библиотеки

Всем здравствуйтеНедавно я решил создать собственную динамически подключаемую библиотеку или иными словами dll

442