Сообщение С++ union initialization от 21.03.2020 4:57
Изменено 21.03.2020 4:59 c-smile
С++ union initialization
Есть такая декларация:
Есть такая функция
Нужно написать инициализатор типа этого:
Но чего-то не выходит какменный цветок, во всяком случае в VS2017
Ругается на '.' тут:
Можно как-то победить это
struct func {
const char* name;
int argc;
union {
int(*f0)(void*);
int(*f1)(void*, int);
} f;
};
Есть такая функция
int foo(void* p, int v) { return 42; };
Нужно написать инициализатор типа этого:
func fdef = { "meth1", 1, {.f1 = foo} };
Но чего-то не выходит какменный цветок, во всяком случае в VS2017
Ругается на '.' тут:
func fdef = { "meth1", 1, {.f1 = foo} };
---------------------------^
Можно как-то победить это
С++ union initialization
Есть такая декларация:
Есть такая функция
Нужно написать инициализатор типа этого:
Но чего-то не выходит каменный цветок, во всяком случае в VS2017
Ругается на '.' тут:
Можно как-то победить это безобразие?
struct func {
const char* name;
int argc;
union {
int(*f0)(void*);
int(*f1)(void*, int);
} f;
};
Есть такая функция
int foo(void* p, int v) { return 42; };
Нужно написать инициализатор типа этого:
func fdef = { "meth1", 1, {.f1 = foo} };
Но чего-то не выходит каменный цветок, во всяком случае в VS2017
Ругается на '.' тут:
func fdef = { "meth1", 1, {.f1 = foo} };
---------------------------^
Можно как-то победить это безобразие?