我有以下实用程序函数将给定的字符串转换为整数.
class convertToInt:public std::unary_function<const char*, int>
{
public:
int operator()(const char* cNumber)
{
try
{
int result = boost::lexical_cast<int>(cNumber);
return result;
} catch ( boost::bad_lexical_cast& error)
{
std::cerr << "Error in converting to number "<< error.what() << std::endl;
return -1;
}
}
};
Run Code Online (Sandbox Code Playgroud)
当我想实际使用这个实用功能时,我要做以下事情.
convertToInt cStrToInt;
int iNumberToCheck = cStrToInt(argv[1]);
Run Code Online (Sandbox Code Playgroud)
我只是想知道,有没有办法,我可以直接打电话
int iNumberToCheck = convertToInt(argv[1]);
Run Code Online (Sandbox Code Playgroud)
不,它是一个成员函数,需要一个对象来调用它.你可以使用一个未命名的临时代替:
int iNumberToCheck = convertToInt()(argv[1]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |