1
class time24;
class time12
{
operator time24()
 {
  ...
  return time24(temp)   // error
 }
}

class time24
{
 ...
};

错误 C2440:“”:无法从“int”转换为“time24”

我还能如何返回对象来克服这个错误

4

1 回答 1

3

在实现文件中,在类定义之后移动实现:

//header.h
class time24;
class time12
{
    operator time24();
}

class time24
{
 ...
};

//implementation.cpp
#include "header.h"
time12::operator time24()
{
   return time24(temp)   // error
}

我假设您打算实施operator time24().

于 2012-04-16T10:52:18.270 回答