complex类如何使用?

K7 2000-04-15 01:00:00
在VC6中,我要定义一个complex模板类
应包含哪个头文件?
...
#include <complex>
...
void main()
{complex<double> a;
......

编译报错,说complex未定义.
...全文
1176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
panda_w 2001-01-11
  • 打赏
  • 举报
回复
我找到一个帖子,和你的问题一样的,给贴出来了
namespace在作怪!
在complex中有匹配的宏: _STD_BEGIN 和 _STD_END 包含住了complex类的定义
展开后就是 namespace std{
...
class complex definition
...
};
说明complex类属于std名字空间,要访问名字空间中的类必须在类之前加上
名字空间名,例如
typedef std::complex complexd;
std::complex c;
等才是正确的用法。



下面一段代码供参考:
#include "stdafx.h"
#include
#include



typedef std::complex complex;
int main(int argc, char* argv[])
{
complex c(3.0,4.0);
c+=complex(5,5);
cout< return 0;
}
关于namespace,请查看 vc 语言参考手册或 msdn。
bluesky 2000-04-24
  • 打赏
  • 举报
回复
对于一个模板类来说应该如下引用:
template <class T>
class complex
{
private:
T x,y;
public:
//方法定义

}

typedef complex<int> int_complex;
//定义一个x,y为int的对象
int_complex a;
E 2000-04-19
  • 打赏
  • 举报
回复
改成 std;;complex<double> a;
因为 complex类属于std名字空间(namespace)
halfdream 2000-04-19
  • 打赏
  • 举报
回复
是complex.h这个头文件没有错。
建议用#include<complex.h> 而不是#include<complex>尽管两者差不多。
complex是C++ 标准类库里面的东西, 我现在手边没有VC6,用
BCB4命令行方式编译了一下, 却没有发现什么问题。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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