error C2064 が出て実行できません
Posted: 2015年7月13日(月) 17:47
下記のようにプログラムを書いたところ
2 IntelliSense: 呼び出しのかっこの前の式は、関数型 (または pointer-to-function 型) である必要があります
エラー 1 error C2064: 1 引数を取り込む関数には評価されません。
というエラーが出るのですが、何が問題であるか分かりません。どなたか知恵をお貸し頂ければ幸いです。
===以下main.cpp===
#include<stdio.h>
#include"sort.h"
#include"list.h"
int list[length] = { 5, 6, 1, 2, 4, 3, 8, 9, 7, 0 }; //長さ”length”の配列を設定し、それぞれに数字を代入
int count = 0;
void main(){ //以下main関数(実際に実行される中身)
insertion(list);
for (int i = 0; i < length; i++){
printf("%d\n", list);
} //整列されたlistの中身を順番に書き出す
printf("入れ替えの回数は%d回でした", count);
}
===以上main.cpp===
===以下insertion.cpp===
#include<stdio.h>
#include"list.h"
int insertion(int a[length]){ //以下挿入法のソース
for (int i = 1; i < length; i++){
if (a>a){
int x = a;
a = a;
int j = i - 2;
while (j >= 0 && a[j]>x){
a[j + 1] = a[j];
j--;
count++; //入れ替えの回数を増やす
}
a[j + 1] = x;
}
}
return 0;
}
===以上insertion.cpp===
===以下sort.h===
int HeapSort;
int insertion;
int Qsort;
===以上sort.h===
===以下list.h===
#define length 10
extern int list[length];
extern int count;
===以上list.h===
環境はVC++2013を使用しています。
問題点はmain.cppの10行目
insertion(list);
の部分のようですが原因がよく分かりません。
プログラムの内容としては、配列listを小さい巡に並べ替えるだけの単純なものです。
又、QsortとHeapSortについては別の.cppで書いていますが、(今のところ使っていないので)関係は無いと思い書いていないのですが、もし必要でしたら追記致します。
両方ともinsertionと同じようなソートプログラムで、その二つでも試して見ましたが同じエラーが出て実行できませんでした。
2 IntelliSense: 呼び出しのかっこの前の式は、関数型 (または pointer-to-function 型) である必要があります
エラー 1 error C2064: 1 引数を取り込む関数には評価されません。
というエラーが出るのですが、何が問題であるか分かりません。どなたか知恵をお貸し頂ければ幸いです。
===以下main.cpp===
#include<stdio.h>
#include"sort.h"
#include"list.h"
int list[length] = { 5, 6, 1, 2, 4, 3, 8, 9, 7, 0 }; //長さ”length”の配列を設定し、それぞれに数字を代入
int count = 0;
void main(){ //以下main関数(実際に実行される中身)
insertion(list);
for (int i = 0; i < length; i++){
printf("%d\n", list);
} //整列されたlistの中身を順番に書き出す
printf("入れ替えの回数は%d回でした", count);
}
===以上main.cpp===
===以下insertion.cpp===
#include<stdio.h>
#include"list.h"
int insertion(int a[length]){ //以下挿入法のソース
for (int i = 1; i < length; i++){
if (a>a){
int x = a;
a = a;
int j = i - 2;
while (j >= 0 && a[j]>x){
a[j + 1] = a[j];
j--;
count++; //入れ替えの回数を増やす
}
a[j + 1] = x;
}
}
return 0;
}
===以上insertion.cpp===
===以下sort.h===
int HeapSort;
int insertion;
int Qsort;
===以上sort.h===
===以下list.h===
#define length 10
extern int list[length];
extern int count;
===以上list.h===
環境はVC++2013を使用しています。
問題点はmain.cppの10行目
insertion(list);
の部分のようですが原因がよく分かりません。
プログラムの内容としては、配列listを小さい巡に並べ替えるだけの単純なものです。
又、QsortとHeapSortについては別の.cppで書いていますが、(今のところ使っていないので)関係は無いと思い書いていないのですが、もし必要でしたら追記致します。
両方ともinsertionと同じようなソートプログラムで、その二つでも試して見ましたが同じエラーが出て実行できませんでした。