Компилятор Си показывает ошибку, которой нет!

Рейтинг: 0Ответов: 1Опубликовано: 29.07.2023

Я писал заголовочный файл для Си, чтобы создать тип переменной bool (да я знаю, есть библиотека stdbool, но я хотел написать его сам)

main.c

#include <stdio.h>
#include "bool.h"

int main()
{
    bool isBool true;
    
    if (isBool) printf("okay!\n");
    else printf("Not okay!\n");

    return 0;
}

bool.h

struct b_ool
{
    int true = 1;
    int false = 0;
};

typedef struct b_ool bool;

но компилятор и microsoft visual studio выдаёт:

требуется точка с запятой. строка 6, столбец 17, файл main.c (то есть, где bool isBool true;)

Но! Прошу заметить, там уже стоит точка с запятой. Подскажите пожалуйста, что делать?

Ответы

▲ 2

Что вы хотите этим сказать?

bool isBool true;

Как компилятор должен отреагировать на

int n 15;

по-вашему? Если true — это инициализирующее значение, напишите

bool isBool = true;