编码时我遇到了一个问题。
我使用投影2D空间(即2D点(x,y)和3D点(x,y,w))。 我还有一个接受投射点(3D)的功能。 为了更好地阅读并避免在主体中进行转换,我尝试为该函数编写一个重载,接收2D-Point并调用“base”函数(简单示例)。 但编译器不编译代码。似乎存在链接错误(LNK 2001)。
//"base" function
foo(3D_pt pt)
{
//do something with it
}
//overloaded function
foo(2D_pt pt)
3D_pt pt3 = 3D_pt(pt.x, pt.y, 1);
foo(pt3);
}
任何想法如何去做?
由于
编辑: 错误是: LNK2001: 未解决的符号 - foo(2D_pt pt)
答案 0 :(得分:3)
发布的代码中唯一的问题是:
#1:您的类名(2D_pt
和3D_pt
)以数字开头,而C ++中的标识符不应该这样做(Cplusplus.com)。
#2:函数foo
没有返回类型。
#3:{
中缺少foo(2D_pt)
。
修复后,所有内容都没有问题:ideone。