小编yus*_*suf的帖子

IDC的缩写是什么意思?

有没有人知道IDC编辑窗口时使用的首字母缩略词的含义?

例如,在CDialog应用程序的上下文中:

void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_STATIC_FRAME, m_StaticFrame);
}
Run Code Online (Sandbox Code Playgroud)

它通常是未进一步指定的控件(ID控件)的ID,因为Dialog会有前缀IDD(ID Dialog)吗?

c++ windows resources winapi mfc

10
推荐指数
2
解决办法
8798
查看次数

如何指示gcc警告我无效的函数指针转换就像g ++一样?

我如何指示gcc警告我有关无效的函数指针转换,比如g ++会对下面的代码做什么?

并且..为什么gcc没有警告我这个?将指针传递给do_something()时会发生什么/将会发生什么?

#include <stdio.h>

typedef void (*void_func_t) ();
typedef void (*void_int_func_t) (int, int, int);

void do_something(void_func_t f)
{
    void_int_func_t foo = f;
    foo(1,2,3);
}

void a()
{
    printf("a\n");
}

void b(int one, int two, int three)
{
    printf("%i, %i, %i\n", one, two, three);
}

int main()
{
    do_something(a);
    do_something(b);
    return 0;   
}
Run Code Online (Sandbox Code Playgroud)

输出:

?  gcc -W -Wall -Werror func.c 
?  ./a.out
a
1, 2, 3
Run Code Online (Sandbox Code Playgroud)

然而,c ++会警告/给出错误

g++ -W -Wall -Werror func.c
func.c: In function ‘void do_something(void_func_t)’:
func.c:8:27: error: …
Run Code Online (Sandbox Code Playgroud)

c gcc function-pointers gcc-warning

0
推荐指数
1
解决办法
126
查看次数

标签 统计

c ×1

c++ ×1

function-pointers ×1

gcc ×1

gcc-warning ×1

mfc ×1

resources ×1

winapi ×1

windows ×1