我如何编写.h头文件C和C ++

时间:2015-12-28 10:38:39

标签: c++

MyHeader.h

private void ValidateCommand()
{
    // Do some stuff
}

错误

声明语法错误

dchar(unsigned char)和dchar(char)之间的歧义

该计划在网站上。

1 个答案:

答案 0 :(得分:1)

您在程序中使用C链接,这意味着编译器不会破坏名称。在您的示例中,您声明了两个名为dchar的函数,一个采用unsigned char参数,一个采用char参数。由于C链接,这些链接将使用名称dchar而不是通常的受损名称显示给链接器。链接器无法看到这两个函数之间的区别,并且会抛出错误,因为它认为您实现了两次相同的函数。

由于您将此问题标记为C ++,您可以通过简单地删除extern "C"声明来解决此问题,如果您也想在C中使用这些函数,则需要更改一个函数的名称。