namespace在作怪!
在complex中有匹配的宏: _STD_BEGIN 和 _STD_END 包含住了complex类的定义
展开后就是 namespace std{
...
class complex definition
...
};
说明complex类属于std名字空间,要访问名字空间中的类必须在类之前加上
名字空间名,例如
typedef std::complex<double> complexd;
std::complex<float> c;
等才是正确的用法。下面一段代码供参考:
#include "stdafx.h"
#include <iostream.h>
#include <complex>typedef std::complex<float> complex;
int main(int argc, char* argv[])
{
complex c(3.0,4.0);
c+=complex(5,5);
cout<<c.real()<<'+'<<c.imag()<<'i'<<endl;
return 0;
}
关于namespace,请查看 vc 语言参考手册或 msdn。
在complex中有匹配的宏: _STD_BEGIN 和 _STD_END 包含住了complex类的定义
展开后就是 namespace std{
...
class complex definition
...
};
说明complex类属于std名字空间,要访问名字空间中的类必须在类之前加上
名字空间名,例如
typedef std::complex<double> complexd;
std::complex<float> c;
等才是正确的用法。下面一段代码供参考:
#include "stdafx.h"
#include <iostream.h>
#include <complex>typedef std::complex<float> complex;
int main(int argc, char* argv[])
{
complex c(3.0,4.0);
c+=complex(5,5);
cout<<c.real()<<'+'<<c.imag()<<'i'<<endl;
return 0;
}
关于namespace,请查看 vc 语言参考手册或 msdn。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货