
下記をコンパイルすると、'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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# プログラミングペーパーテスト 次の問題の実行結果を答えろ #include int x[ ] = { 1 2022/06/16 21:49
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# プログラミングの授業のペーパーテスト 実行結果を答えろ #include int x[ ] = {1 3 2022/06/16 20:08
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のアドレスを関数から取得...
-
外部変数について
-
DWORDの実際の型は何でしょうか
-
値の受け渡しについて…
-
テンプレート引数の型を実行時...
-
C++でパラメータのやり取りでわ...
-
直接アドレス指定のポインタの...
-
DLLの明示的な呼び出し
-
クラスや構造体のarrayを作りた...
-
C言語のプログラムで...
-
構造体のサイズが意味不明の数...
-
int *a = new int; エラー
-
OpenGLで登録したコールバック...
-
C++の配列オブジェクトを宣言と...
-
vc2005.net 構造体の宣言について
-
関数の宣言と定義
-
とあるC++の参考書の疑問 ...
-
c言語について教えて下さい
-
【#define】 defineで定義した...
-
C言語で%を使わない余りの出し方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
visualstudio C# テキストボッ...
-
long型の定数の末尾にLを付ける...
-
main.c:7:43: warning: implici...
-
2重定義って??
-
変数の型を定義しなかった場合...
-
C++でboolにintの値を代入する...
-
typedef enumの使い方を教えて...
-
C++のfor文について
-
intとINTの違いは?
-
【#define】 defineで定義した...
-
ハンドルされていない例外が発...
-
void func( void )について
-
C言語のコンパイルエラー
-
enumについて
-
関数の実体定義にヘッダファイ...
-
C言語 宣言した変数になにも代...
-
C++ クラスをメンバにもつクラ...
-
プログラムの中で別のmainを呼...
-
sshdログの意味
おすすめ情報