Если вы используете extern C
с файлами С++, разрешает ли это определение поведения C undefined в С++?
blah.h
extern "C"
{
struct x {
int blah;
char buf[];
};
char * get_buf(struct x * base);
struct x * make_struct(int blah, int size);
}
some_random.cpp
#include "blah.h"
...
x * data=make_struct(7, 12);
std::strcpy(get_buf(data), "hello");
Используется ли определенное поведение в элементе C гибкого массива, определяется поведение при его использовании?