永发信息网

C语言unresolved external symbol

答案:2  悬赏:80  手机版
解决时间 2021-03-02 12:01
  • 提问者网友:趣果有间
  • 2021-03-01 12:52
#include
#include
#include
#define X 256
#define Y 256
void main()
{
static float V[X][Y]={0};
static float D[X][Y]={0};
FILE *fp1,*fp2;
float REF(float V[X][Y],float D[X][Y]);
int i,j;
fp1=fopen("C:\\Users\\地层速度模型.txt","r");
fp2=fopen("C:\\Users\\地层密度模型.txt","r");
for(i=0;i {
for(j=0;j {
fscanf(fp1,"%f\t",&V[i][j]);
fscanf(fp2,"%f\t",&D[i][j]);
}
}

fclose(fp1);
fclose(fp2);
REF(V,D);
}
void REF(float V[X][Y],float D[X][Y])
{
int i,j;
static float ref[X][Y]={0};
for(i=0;i {
for(j=0;j {
ref[j][i]=(V[j+1][i]*D[j+1][i]-V[j+1][i]*D[j+1][i])/(V[j][i]*D[j][i]+V[j][i]*D[j][i]);
}
}
for(i=0;i {
for(j=0;j {
printf("%f\t",ref[i][j]);
}
}
}
编译无错误运行

--------------------Configuration: demo - Win32 Debug--------------------
Linking...
demo.obj : error LNK2001: unresolved external symbol "float __cdecl REF(float (* const)[256],float (* const)[256])" (?REF@@YAMQAY0BAA@M0@Z)
Debug/demo.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

demo.exe - 2 error(s), 0 warning(s)
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-03-01 14:32
REF函数的声明和定义不同,函数声明返回值是float,但是定义的时候却是void。应该编译就会报错。
全部回答
  • 1楼网友:白昼之月
  • 2021-03-01 15:33
没有问题,我复制进vs2005里面,但要在每个文件前面加上 #include"stdafx.h"再改一下你main函数中的错误就能运行了,但没有遇到你这里提示的错误 首先,你的main函数里 scanf(str,c);//这句是什么意思?看不明白, 因此我改为下面这样,程序正确运行。 scanf("%c",&c); vs2005必须加上include"stdafx.h"这个才能运行,其他版本不清楚。 解释下:我把你的程序分别复制到4个.cpp文件里的,只要把main函数里的scanf改一下就正确的,请问你是把程序写在同一个工程里面不同的.cpp文件中的吗?要写在cpp文件中才正确的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯