C++ string 做返回类型
------------------Func_ptr.h------------------------------------
#ifndef FUNC_PTR_H
#define FUNC_PTR_H
#ifndef FUNC_PTR_H
#define FUNC_PTR_H
int bigger( const int &a, const int &b );
double bigger( const double &a, const double &b );
std::string bigger( const std::string &a,const std::string &b );
//
//template<typename T>
//T bigger(const T &a, const T &b);
#endif FUNC_PTR_H
#endif FUNC_PTR_H
--------------------------Func_ptr.cpp--------------------------------------------
#include<iostream>
#include<string>
#include"Func_ptr.h"
int bigger( const int &a, const int &b )
{// retrun a if a >b or return b
if( a < b )
return b;
else
return a;
}
double bigger( const double &a, const double &b )
{// retrun a if a >b or return b
if( a < b )
return b;
else
return a;
}
std::string bigger( const std::string &a,const std::string &b )
{
return a;
}
-------------------------Main.cpp------------------------------------
#include<iostream>
#include"Func_ptr.h"
int main()
{
std::cout << bigger( 3, 10 ) << std::endl;
std::cout << bigger( 4.5, 10.0 ) << std::endl;
std::cout << bigger( 11.3, 1.6 ) << std::endl;
int (*funcPtr)( const int & , const int & ) = bigger;
double (*funcPtr_double)( const double &, const double &) = bigger;
std::cout << funcPtr( 11, 1 ) << std::endl;
std::cout << funcPtr_double( 11.5, 12.7 ) << std::endl;
return 1;
}
编译报错:(只是在添加了std::string bigger( const std::string &a,const std::string &b )才出现的 )
错误究竟在什么地方呢?
1>------ 已启动生成: 项目: Func_Ptr, 配置: Debug Win32 ------
1>正在编译...
1>Main.cpp
1>Func_ptr.cpp
1>.\Func_ptr.cpp(51) : fatal error C1004: 发现意外的文件尾
1>正在生成代码...
1>生成日志保存在“file://e:\vs\Func_Ptr\Func_Ptr\Debug\BuildLog.htm”
1>Func_Ptr - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========