"" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
warning C4302: '<function-style-cast>': 'int *' から 'short' へ切り詰めます。

ソース(バグ有り):

//メモリ確保のサンプル

#include <stdio.h>
#include <stdlib.h>

#define NUM_OF_MEMORY 10

int main(void)
{
//メモリ確保用のポインタ― int *pointer , i;
//int 型のメモリを10個確保する pointer = (int*)malloc(sizeof(int) * NUM_OF_MEMORY); //確保したメモリに値を代入 for(i=0;i<NUM_OF_MEMORY; i++) pointer[i] = i; for(i=0; i<NUM_OF_MEMORY; i++)
{ printf("%d番目のint型メモリの値 = %d\n", i, short(pointer+i)); } free(pointer); /* メモリの解放 */
return 0; }


原因:


対処:


ソース(修正済み):

//メモリ確保のサンプル

#include <stdio.h>
#include <stdlib.h>

#define NUM_OF_MEMORY 10

int main(void)
{
//メモリ確保用のポインタ― int *pointer , i;
//int 型のメモリを10個確保する pointer = (int*)malloc(sizeof(int) * NUM_OF_MEMORY); //確保したメモリに値を代入 for(i=0;i<NUM_OF_MEMORY; i++) pointer[i] = i; for(i=0; i<NUM_OF_MEMORY; i++)
{ printf("%d番目のint型メモリの値 = %d\n", i, *(pointer+i)); } free(pointer); /* メモリの解放 */
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]