int a[100][20];
int b[100][20];
int c;
int L1;
int L2;
int Function();
if (c == 1)
Function;
int Function()
{
for (L1=0;L1<100;L1++)
for (L2=0;L2<20;L2++)
b[L1][L2] = a[L1][L2];
return 0;
}
各変数のスコープ(有効範囲)による。
このくらいだったら、memcpy()使った方が楽だと思うが。
memcpy(b, a, sizeof a);
各コードのスコープがわかるようにソースを提示してくれないとなー。
内容からするとそこまで長いソースとも思えないし、
ソースだけを放り込むような質問し方をするのであれば、
きちんとビルドまで出来るレベルのソースを提示した方が話が早いです。
特に何処まで省略していいかの判断がつかないような場合は。
>int Function();
>if (c == 1)
> Function;
いきなり、コンパイルエラーだろ!
デバッガや、printf()/MessageBox()を使う等して
まずはご自身で確認した方が良いでしょう
その結果、思っている動作や出力を得られなければ
結果を添えて質問をしてはどうでしょうか
b[L1][L2] = a[L1][L2];
という所でL1とL2の値の確認と、代入されたb[L1][L2]を確認するなどで、
確かめてください
100x20のテーブルは確認が面倒なので
最初は10x2でやってみるとか、5x2とか、そんな方法もあります
#include <stdio.h>
int func();
int main()
{
func;
printf(not compile error\n);
return 0;
}
VS.NET 2003
火フ
>いきなり、コンパイルエラーだろ!
せいぜい、警告どまりでは?
関数ポインタだし。
実際やってみました。警告でした。
if (c == 1)
Function(); //<--
としましょう
で、ご本人はいずこへ??