我試圖爲5名學生的中期和最終成績製作計算器。 40%的中期和60%的決賽陣列a [5] [3]。 a [5] [3],因爲5名學生,3條線,因爲1中期決賽的另一個和最後一個整體成績(中期40%+總決賽60%)。我得到「錯誤lnk2019」。該代碼有什麼問題?謝謝..如何解決「錯誤LNK2019:無法解析的外部符號...」
#include "stdafx.h"
#include <iostream>
using namespace std;
float a[5][3];
float data(float x);
float calc(float y);
float HL(float z);
int main()
{
data(a[5][3]);
calc(a[5][3]);
HL(a[5][3]);
system("pause");
return 0;
}
float data(float x[5][3])
{
for (int i = 0; i < 5; i++)//Getting the Grades
{
cout << "Enter midterm for St" << i + 1 << " : ";
cin >> x[i][0];
cout << "Enter final for St" << i + 1 << " : ";
cin >> x[i][1];
}
return x[5][3];
}
float calc(float y[5][3])
{
for (int i = 0; i < 5; i++)//Calc. Overall Grades
{
y[i][2] = y[i][0] * 0,4 + y[i][1] * 0,6;
}
return y[5][3];
}
float HL(float z[5][3])
{
float max = 0, min = 0;
for (int i = 0; i < 5; i++)//Finding Highest and Lowest
{
if (z[i][2]>max)
{
max = z[i][2];
}
if (z[i][2] < min)
{
min = z[i][2];
}
}
cout << "The Lowest Grade : " << min << "\nThe Highest Grade : " << max;
return z[5][3];
}
在未來,請附上*完整*和*未經編輯*錯誤日誌的問題。如果你也發佈了源代碼,請指出錯誤的來源, –
儘管如此,我覺得這個問題很有趣,因爲錯誤不是來自編譯器,而是來自鏈接器。當使用float作爲需要矩陣的函數的參數時(一個實際的指針),C編譯器應該抱怨錯誤的類型。像「錯誤:不能使整數指針...」。相反,編譯器假定這三個函數是重載的,並讓鏈接器找到三個函數的實際執行任務,這些函數更適合他們所調用的參數。 –