0

私は実際に通常のデータ型で動的に割り当てられた配列を正常に実行できましたが、それは少し前のことです (6 章のように!) そして、ここで配列を動的に設定できない理由がわかりません - 私はintエラーが発生していることはわかっていますが、クラスタイプはそのような数値を処理しないため、クラスタイプを使用できません。この時点で、私はかなり混乱しています。ヘッダーを含む私のコードは次のとおりです。

#include <iostream>
#include "milTime.h"
#include "Time.h"

using namespace std;

int main()
{
milTime *theta;
bool amOrPm;
int milHr, milSc,milM,times;


cout<<"How many times would you like to convert?";
cin>>times;
theta = new milTime;
*theta = times;

そして、ここに私のエラーがあります:

エラー 1 エラー C2440: '=': 'int' から 'milTime *' に変換できません c:\users\heather\documents\visual studio 2012\projects\military time\military time\source.cpp 17 1 ミリタリー タイム

それ以外は完全に終わっているので、どんな助けでも大歓迎です。私と私の素晴らしいアイデアは、動的に割り当てられるようにします!

要求された milTime クラスは次のとおりです。

#ifndef MILTIME
#define MILTIME

#include <iostream>
#include "Time.h"

class milTime : public Time
{
protected:
int milHours;
int milMins;
int milSeconds;
public:
void setTime(int h)
{
    milHours = h;
}
void setMin(int m)
{
    milMins=m;
}
void setSec(int s)
{
    milSeconds=s;
}
int getmilHours()
{return milHours;}

int getmilMins()
{return milMins;}

int getmilSeconds()
{return milSeconds;} 


bool timeConverter(int mTime, int mMins, int mSecs)
{
    bool aOrPm;
    min = mMins;
    if(mTime<12)
    {
        hour = mTime;
        aOrPm = false;
        //AM will be false.
    }
    else if (mTime>12 && mTime<=24)
    {
        hour = mTime%12+1;
        aOrPm = true;
    }
    sec = mSecs;
    return aOrPm;
}
};
#endif
4

5 に答える 5

1

の定義はmilTime?

int組み込みの整数型である を独自の型 milTimeに割り当てようとしています。タイプに . を取る代入演算子がない限り、これは機能しませんint

あなたの型には?を取るコンストラクタがありintますか? その場合、次のようなものが必要になります。

theta = new milTime(times);

于 2013-05-16T12:44:01.783 に答える
0

問題は次のとおりです。

*theta = times;

theta は milTime のクラスで、times は int です。

おそらく、次のように、milTime でセッター メソッドを作成する必要があります。

theta.setTime( times )

あなたのmilTimeクラスが見えないのですが、投稿してもらえますか?

于 2013-05-16T12:43:34.190 に答える
0

thetaへのポインタですmiltimetimesintしたがって*theta = times;失敗します。

于 2013-05-16T12:43:26.127 に答える