问题:发现把inline写在函数声明和函数定义的地方,或者都写,编译时都不会报错;
真的是写在哪里都可以吗?例程:#include <iostream>
#include <string>
using namespace std;string connect(string,string);void main()
{
cout<<connect("Hello","Fire")<<endl;
}inline string connect(string s1,string s2)
{
return s1+" "+s2+" !";
}

解决方案 »

  1.   

    如果你的类在.h中,而实现在.cpp中,这是inline的成员函数要写在.h中,否则写在.cpp中编译会报错。
      

  2.   

    内联函数可以定义在类的内部和外部。
    也可以定义在.h文件或.cpp文件中
      

  3.   

    #include <iostream> 
    #include <string> 
    using namespace std; 
      

  4.   

    #include <iostream> 
    #include <string> 
    using namespace std; 
      

  5.   

    放在CPP中内联函数没有任何意义
      

  6.   

    貌似写在cpp里会报错 因为在声明的地方指定了inline编译器就找不到要展开的内容了 但是不指定inline又没有意义 所以还是写在h里面吧
      

  7.   

        建议写在.h文件,首先写在.h不用加inline,其次如果加inline关键字写在.cpp的话,在别的cpp文件使用该函数的话会出现链接错误。