文件sys.cpp:的main.cpp | 45 |錯誤:預期主表達式前 「Int」 和 「雙重」
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>
#include <fstream>
using namespace std;
[...]
struct kmph_in_mps
{
int kmph[4];
int result[4];
void kmph_erfassen()
{
for (size_t i = 0; i < 4; ++i)
{
cin >> kmph[i];
}
}
void mps_erfassen(int kmph, double result)
{
result = kmph/3.6;
}
void ergebniss_ausgeben()
{
cout << endl << kmph << "Km/h sind " <<result << " Meter pro Sekunde\n";
}
};
[...]
文件main.cpp中:
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include "sys.cpp"
#include <fstream>
kmph_in_mps c;
[...]
void Kmph_in_mps()
{
system("cls");
cout << "\nKm/h: ";
c.kmph_erfassen();
c.mps_erfassen(int kmph, double result);
c.ergebniss_ausgeben();
t.beenden();
}
[...]
錯誤:
Error: expected primary-expression before 「int」
Error: expected primary-expression before 「double」
我是一個學習C++,我現在不知道該怎麼做。 我在網上尋找答案,在這裏,但我不真的找到正確的答案。 在「in」和「double」之前我必須寫哪個主表達式? 還是我做的一切完全錯誤,像一個勝利者呢? :P
編輯: 我嘗試了返回結果,但它似乎不允許在一個void中。
我已經試過c.mps_erfassen();
但它也給我一個錯誤:error:沒有匹配函數調用`kmph_in_mps :: mps_erfassen()'|
我已經嘗試了c.mps_erfassen(kmph, result);
但我沒有在這個範圍內聲明它們。它們在另一個文件(sys.cpp)中聲明。 :S
抱歉忘了寫信,編輯我的帖子,我也試過了,出現錯誤,可以在帖子後面看到Edit Edit:2. one。 – Sinmson 2014-11-05 19:34:06
@Sinmson您需要包含正確的頭文件,以便編譯器可以找到您調用的函數。確保函數參數類型和順序匹配。 – taocp 2014-11-05 19:39:47
我將它包含在#include「sys.cpp」中,你可以在file.cpp的代碼頂部看到它。 – Sinmson 2014-11-05 19:41:37