因为要使用sqrt函数,所以要在文件中包含
#include<cmath>
#include<complex>
在a.h文件中包含这两句,编译通过了
但是换成在a.cpp文件中包含这两句,编译就出错,“sqrt:identifier not found”
这是怎么回事呢?
按理说,效果是一样的

解决方案 »

  1.   

    #include 的文件顺序问题吧先系统和库的头文件,再自己写的头文件
      

  2.   

    是这样的顺序的
    我建的是MFC工程,在cpp文件中自动生成一些h文件
    我在这些头文件前面加
    #include <cmath>
    #include <complex>
    的。
      

  3.   

    放到以生成的#include后面试试
      

  4.   

    a.cpp里,你的代码在是在哪里包含a.h的呢?
    不过一般习惯在.h中包含其它的头文件吧
      

  5.   

    你把头文件放在#include "stdafx.h"前面了?
      

  6.   

    我想是重复包含了吧?
    系统头文件放在 你自己的.h或.cpp中一个即可。
      

  7.   

    是啊,放到最上面了
    要放在stdafx.h之后吗
      

  8.   

    要放在#include "stdafx.h"之后的
      

  9.   

    为什么是这样的
    我记得在哪里看过说把头文件都加在#include "stdafx.h"前面就行了