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 に答える