C++ 编译问题: LNK2019:无法解析的外部符号

小白一只,正在自学,使用的是VS2013

在试运行的时候出现如下错误:
error LNK2019: 无法解析的外部符号 "int __cdecl coordinatejudge(double)" (?coordinatejudge@@YAHN@Z),该符号在函数 _wmain 中被引用 E:\Data\VS2013 Project\homework\Page113_12.c\Page113_12.c\Page113_12.c.obj Page113_12.c
= =望各位指教
以下是源代码:
// Page113_12.c.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "math.h"

/*函数声明*/
int rangepoint();
int enterpoint();
int coordinatejudge(double A);
int pointjudge(double B);
int rangejudge(double C, double D);
int output();

/*变量声明*/
double X, Y;
double X1, X2, Y1, Y2;
double A, B, C, D, R;

int _tmain(int argc, _TCHAR* argv[])
{
rangepoint();
enterpoint();
coordinatejudge(A);
pointjudge(B);
rangejudge(C,D);
output();
system("pause");
}

int rangepoint()
{
X1 = 2;
X2 = -2;
Y1 = 2;
Y2 = -2;
return 0;
}

int enterpoint()
{
printf("Please enter the X coordinate of point\n");
scanf_s("%d", &X);
printf("Please enter the Y coordinate of point\n");
scanf_s("%d", &Y);
return 0;
}

int coordinatejudge(int A)
{
if (X == 0)
{
A = 0;
}
else
{
if (Y == 0)
{
A = 0;
}
else
{
A = 1;
}
}
return A;
}

int pointjudge(int B)
{
if (A == 0)
{
B = 0;
}
else
{
if (X > 0)
{
if (Y > 0) //第一象限判断
{
C = X1;
D = Y1;
}
else //第四象限判断
{
C = X1;
D = Y2;
}
}
else
{
if (Y > 0) //第二象限判断
{
C = X2;
D = Y1;
}
else //第三象限判断
{
C = X2;
D = Y2;
}
}
rangejudge(C, D);
}
return B;
}

int rangejudge(int C, int D)
{
if (R * R <= (X - C)*(X - C) + (Y - D)*(Y - D))
{
B = 1;
}
else
{
B = 0;
}
return 0;
}

int output()
{
if (B == 0)
{
printf("The height of point is 0 m\n");
}
else
{
printf("The height of point is 10 m\n");
}
return 0;
}

int coordinatejudge(double A);
int coordinatejudge(int A)

这是两个不同的函数,前者(“coordinatejudge(double) ”)没有定义

追问

= =多谢指教
还有……Debug了之后可以运行了,但不管我输入的坐标数为多少,最后显示的都是0m是什么情况呢?

温馨提示:内容为网友见解,仅供参考
无其他回答

C++中重载<<时出现 error LNK2019: 无法解析的外部符号
因为operator <<这个函数的参数T不应该依赖于class的模板参数,友元本来是可以访问类的所有数据成员的,你这样依赖的话,放到外部表名该参数T是属于类内部本身,解决方案,为了更好的支持 友元,我们一般单独给友元一个模板参数你可以这样写:在类头文件写为:template <class U> std::ostream &operator ...

为什么c++无法解析外部的符号?
无法解析的外部符号的几个原因:1、lib 文件未引入。在Visual Studio中"项目->属性->连接器->常规->附加库目录"写上.lib库所在文件夹;其次,"项目->属性->连接器->输入->附加依赖项"中写上.lib库的名称。使用#pragma comment(lib, “XXX.lib”)语句添加 lib引用。2、类方法的实现未加类标...

1、error LNK2019: 无法解析的外部符号"struct ***"
在处理C++编程时,报错如"error LNK2019: 无法解析的外部符号",对于初学者来说,确实是一大挑战。本篇将聚焦一种导致此类错误的常见原因。问题的根源通常在于函数声明与函数实现之间存在不一致性。在使用VS2015编译器的情况下,若遇到错误提示"error LNK2019",通常意味着程序中引用的函数名与实际定义的...

error LNK2019: 无法解析的外部符号
无法解析的外部符号“symbol”是指该符号在函数“function”中被引用,在function中找到了未定义的外部符号 (symbol)。若要解决此错误,请提供符号定义或移除引用它的代码。以下是几种可能性,请根据自己的情况判断。1. 在 Visual C++ .NET 2003 中,如果使用了 \/clr 而未将 CRT 链接到可执行文件,将...

error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRT...
\/\/ LNK2019 expected extern int i;extern void g();void f() { i++;g();} int main() {} 如果在生成中包含的某个文件中没有定义 i 和 g,链接器将生成 LNK2019。可以添加这些定义,方法是将包含这些定义的源代码文件包括为编译的一部分。或者可以将包含这些定义的 .obj 或 .lib 文件...

c++无法解析的外部命令
函数就是 void main() 写错了,是void main()不是void mian(),如果不是主函数就是没有添加相应的头文件。1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用。这句话的意思是void mian()函数在某个类中,没有添加累的头...

虚幻引擎C++编译“无法解析的外部符号”解决方案
在进行虚幻引擎的C++编译过程中,遇到“无法解析的外部符号”错误,这可能是因为缺少对应模块的引入。为了解决这一问题,首先需要检查编辑器是否显示了错误信息。若编辑器没有错误提示,却仍出现了上述错误,那么问题可能在于模块的引入。解决步骤如下:第一步:打开项目名的建置文件,即`ProjectName.Build....

错误1 error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数...
你的工程设置有问题。你的工程肯定设置成win32应用程序了,所以会去连接WinMain函数。解决办法:重新建一个工程,选C++控制台程序。

VS常见报错:error LNK2019:无法解析的外部符号
在使用Visual Studio(VS)编译和运行程序时,可能会遇到"error LNK2019:无法解析的外部符号"的错误。此错误通常表示编译器在编译过程中找不到相应的函数实现。具体原因有以下几种:1. **头文件内声明的函数**:在头文件中声明了函数,但未在实现文件中定义函数。解决方法是在实现文件中定义函数,或者...

C++ main.obj : error LNK2019: 无法解析的外部符号 到底是什么意思?求...
表示你还缺少库。比如你使用了一个.h文件,但是没有对应的.cpp文件,那么你需要该文件对应的.lib库。

相似回答