哪位路过的好心人帮忙看看 这种错误怎么解决 搞不懂

long077 2009-06-09 07:58:49
我的原帖在http://topic.csdn.net/u/20090607/14/e1efbbf4-8751-42da-8fbc-c5fcfb64d546.html?seed=740084067这边 现在我想把复数类(complex)单独提取出来 做成一个头文件 已经编译成功 然后添加进了我的计算程序的工程(不知道这一步会不会是多余的)最后#include <complex.h>。但是计算程序编译后出现了下面这样的错误 很不解 到网上找来找去也没找到有用的修改意见 所以只能又来这里请教各位高手 或者有这个错误修改经验的路人 希望不吝赐教


st.obj : error LNK2001: unresolved external symbol "class complex __cdecl operator/(class complex const &,class complex const &)" (??K@YA?AVcomplex@@ABV0@0@Z)
st.obj : error LNK2001: unresolved external symbol "class complex __cdecl sqrt(class complex const &)" (?sqrt@@YA?AVcomplex@@ABV1@@Z)
st.obj : error LNK2001: unresolved external symbol "class complex __cdecl exp(class complex const &)" (?exp@@YA?AVcomplex@@ABV1@@Z)
Debug/st.exe : fatal error LNK1120: 3 unresolved externals
执行 link.exe 时出错.

...全文
25 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
long077 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wocow3 的回复:]
为何要自己提出来,虽然真的没用过,但STL不是有complex模版么
直接
#include <complex>
using namespace std;
不行么
错误提示是你用了自己的complex类但没有用友元定义除运算等
[/Quote]
你是说用VC自带的complex类吗 那样的话要怎么调用呢 我是按照那个复数类的定义写的 就是实虚部写成
a.re=0;
a.im=19.356*n*k;
b=exp(a);
c.re=2.665;
c.im=23.365*k;
d=sqrt(c);
e=b/d;
long077 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xmrforever 的回复:]
你的头文件有没有include <iostream>
[/Quote]
有啊 include <iostream.h>
xmrforever 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 long077 的回复:]
引用 10 楼 xmrforever 的回复:
你的头文件有没有include <iostream>


有啊 include <iostream.h>
[/Quote]

#include<iostream>与#include<iostream.h>是有区别的
C++中新定义的方法都是有名字空间的 比如cout就属于std名字空间 如果include头文件的时候加上.h,默认会using namespace,不加.h需要自己加上 using namespace std
xmrforever 2009-06-10
  • 打赏
  • 举报
回复
你的头文件有没有include<iostream>
long077 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xmrforever 的回复:]
不用改
这个问题应该是头文件没有链接或者关键字没有定义
你不妨试试4楼的办法
[/Quote]
那个using namespace std; 我加进去后就又会出现
error C2871: 'std' : does not exist or is not a namespace的错误
xmrforever 2009-06-09
  • 打赏
  • 举报
回复
不用改
这个问题应该是头文件没有链接或者关键字没有定义
你不妨试试4楼的办法
long077 2009-06-09
  • 打赏
  • 举报
回复
自己再顶顶
long077 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cxxstudy 的回复:]
#include <stdlib.h>
#include <complex>
#include <cmath>
#include <math.h>
using namespace std;

我才用过complex,有上面的内容后,就可以用了。关键是using namespace std;这句要有
[/Quote]

直接包含这些头文件就可以了吗 向我程序里这样的复数计算式子还要不要改
z.re=0;
z.im=0.09817477*m*i;
S2=exp(z);
long077 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wocow3 的回复:]
为何要自己提出来,虽然真的没用过,但STL不是有complex模版么
直接
#include <complex>
using namespace std;
不行么
错误提示是你用了自己的complex类但没有用友元定义除运算等
[/Quote]
模版的话有试过 但是我的程序是依据之前的那个复数类写的 所以直接加的话好像有试过也不行 还有你说的那个using namespace std; 我加进去后就又会出现
error C2871: 'std' : does not exist or is not a namespace的错误 还是搞不懂
cxxstudy 2009-06-09
  • 打赏
  • 举报
回复
#include <stdlib.h>
#include <complex>
#include <cmath>
#include <math.h>
using namespace std;

我才用过complex,有上面的内容后,就可以用了。关键是using namespace std;这句要有
wocow3 2009-06-09
  • 打赏
  • 举报
回复
为何要自己提出来,虽然真的没用过,但STL不是有complex模版么
直接
#include <complex>
using namespace std;
不行么
错误提示是你用了自己的complex类但没有用友元定义除运算等
long077 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 skyxie 的回复:]
把complex.cpp也要加进来
[/Quote]
complex.cpp怎么做
skyxie 2009-06-09
  • 打赏
  • 举报
回复
把complex.cpp也要加进来

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧