int getSpeedOfMotorInPercent(int RPM)
{
int speedOfMotor = (RPM/5000.0)*100;
return speedOfMotor;
}
static char *test_GetSpeedOfMotor(int speedInPercent)
{
mu_assert("error, RPM != 70%", speedInPercent == 70);
return 0;
}
static char *run_all_tests(int RPM)
{
mu_run_test(test_GetSpeedOfMotor(RPM));
return 0;
}
我得到的錯誤「之稱的對象不是一個函數」 mu_run_test(test_GetSpeedOfMotor(RPM));
「之稱的對象不是一個函數」的錯誤 - Ç
我試圖消除功能的指針,但後來我得到更多的錯誤。
編輯:
#define mu_assert(message, test) do { if (!(test)) return message; } while (0)
#define mu_run_test(test) do { char *message = test(); tests_run++; if (message) return message; } while (0)
extern int tests_run;
這是mu_run_test
功能。它是在頭文件中提供給我的。
您還沒有我們顯示mu_run_test'的'定義。這對於回答這個問題至關重要。你能提供嗎? –
我打賭mu_run_test是這樣的 void mu_run_test(char * x) { x() },試圖調用傳入的char *,就像它是一個函數指針一樣。 – SlxS
@MagnusHoff我用'mu_run_test'函數更新了這篇文章 – Milkncookiez