![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
下記をコンパイルすると、'int' 型は 'int *' 型に変換できない(関数 main() )
とエラーが出てしまいました。 何がおかしいのでしょうか ?
初歩的な間違いをしていると思いますが、アドバイスお願いします。
#include<iostream>
#include<stdlib>
#include<ctime>
using namespace std;
void main(void)
{
int *a = new int;
a=rand();
cout<<a<<endl;
delete a;
}
No.1ベストアンサー
- 回答日時:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(void)
{
srand ( time(NULL));
int *a = new int;
*a=rand();
cout<<*a<<endl;
delete a;
return 0;
}
/*
多分こうだと思う。
想像以上に乱数の精度が悪いような気がする。
*/
この回答への補足
質問者です。
>int *a = new int;
>a=rand();
を
int *a = new int;
*a = rand();
にしたら解決できました。 初心者なのでnewとはなんたるかを
いろいろ試している最中です。
なぜこうなるのか、ご存知でしたら教えてください。
No.3
- 回答日時:
直すべきところは他の回答者さんが指摘されているので理由の方を書いておきますね.
a=rand();
コンパイラがエラーをはいているのはこの部分です.
aはint *型変数です,これにたいしてrand()の返り値の型はint型です.
c++言語の暗黙の型変換では,int型からint *型変数には型変換(キャスト)できないので
コンパイラはエラーをはいているわけです.
よくあるミスです.
代入を行うときは,左辺値(ここではa)の型が何であるかと
右辺の式の評価値が何型であるかを意識して書くと良いと思いますよ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
long型の定数の末尾にLを付ける...
-
C#でオセロを作っているのです...
-
分割コンパイル時に構造体....
-
C++のfor文について
-
C++でboolにintの値を代入する...
-
2重定義って??
-
間違っていないような気がする...
-
猫でも 20章
-
visualstudio C# テキストボッ...
-
int *a = new int; エラー
-
戻り値
-
void func( void )について
-
関数の実体定義にヘッダファイ...
-
main.c:7:43: warning: implici...
-
構造体の要素すべてに対する四...
-
C++ クラスをメンバにもつクラ...
-
C言語でmain関数でのreturnとexit
-
typedef enumの使い方を教えて...
-
VC6でlong longでエラー?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
visualstudio C# テキストボッ...
-
C++のfor文について
-
2重定義って??
-
long型の定数の末尾にLを付ける...
-
typedef enumの使い方を教えて...
-
main.c:7:43: warning: implici...
-
C++でboolにintの値を代入する...
-
構造体の要素すべてに対する四...
-
intとINTの違いは?
-
ハンドルされていない例外が発...
-
DDVによるメッセージの変更
-
変数の型を定義しなかった場合...
-
【#define】 defineで定義した...
-
C++ クラスをメンバにもつクラ...
-
構造体の宣言でエラーが出ます。
-
プログラムの中で別のmainを呼...
-
void func( void )について
-
エラー「invalid conversion fr...
-
関数の実体定義にヘッダファイ...
おすすめ情報