我正在尝试了解我所拥有的用例的匿名工会。用例是能够在函数指针表中使用给定方法的不同原型。例如,在下面的代码片段中,myfunc可以有两个变体,一个只接受一个字符串;并且可以接受其他参数。
这是我的代码段 -
warning: initialization makes integer from pointer without a cast
error: request for member `myfuncEx' in something not a structure or union
示例me1和me2似乎提供了正确的结果。 但是例子me3。我试图在结构内静态初始化联合,抛出此错误 -
static const my_struct_t me3 = {myfuncEx_imp};
有人能指出在结构中初始化匿名联合的正确方法。
编辑:我以非常明显错误的方式宣布结构错误,正确的方式 -
prompt = "Enter the name for team {} or enter to finish: "
teams = {}
name = True #to start the iteration
while name:
name = input(prompt.format(len(teams)+1))
if name:
teams[name] = 0
print('The teams are:\n ' + '\n '.join(teams))
答案 0 :(得分:2)
static const my_struct_t me3 = { .myfuncEx = myfuncEx_imp };