У мене є *.cppфайл, який я компілюю за допомогою C ++ (не компілятор C). Функція, що містить, покладається на заголовок (див. Останній рядок), який, здається, визначений в C (будь ласка, виправте, якщо я помиляюся!), Але не в C ++ для цього спеціального типу.
[...] C++ code [...]
struct sockaddr_in sa = {0};
int sockfd = ...;
sa.sin_family = AF_INET;
sa.sin_port = htons(port);
bind(sockfd, (struct sockaddr *)&sa, sizeof sa);
[...] C++ code [...]
Оскільки я компілюю це у файлі C ++, це тепер визначене чи невизначене поведінка? Або мені потрібно перенести це у *.cфайл, щоб визначити його поведінку?
.cрозширення, компілятор C викликається автоматично.