我使用Eclipse進行谷歌測試。我編寫了下面的代碼,但它顯示了錯誤「在'led'之前預期的初級表達式」。在'領導'之前預期的主要表達式
的代碼如下:
LedDriverTest.cpp
#include "C:\googletest-master\googletest\include\gtest\gtest.h"
#include "LedDriver.h"
TEST(LedDriverTest, LedInitial){
LedDriver led;
EXPECT_EQ(0x00, led.getLedStatus());
}
LedDriver.h
#ifndef LEDDRIVER_H_
#define LEDDRIVER_H_
namespace LedDriver {
class LedDriver {
public:
LedDriver();
virtual ~LedDriver();
unsigned char getLedStatus();
private:
unsigned char status;
};
} /* namespace LedDriver */
#endif /* LEDDRIVER_H_ */
LedDriver.cpp
#include "LedDriver.h"
namespace LedDriver {
LedDriver::LedDriver() {
status = 0x00;
}
LedDriver::~LedDriver() {
}
unsigned char LedDriver::getLedStatus(){
return status;
}
} /* namespace LedDriver */
「LedDriver.h」 和「LedDriver.cpp」在同一個名爲「LedDriver」的項目。 「LedDriverTest.cpp」位於另一個名爲「LedDriverTest」的項目中。 GCC編譯器的包含「LedDriverTest」項目的路徑設置爲「LedDriver」項目。
請告訴我什麼是錯的,以及如何解決它。
LedDriver命名空間中的'TEST'函數?如果不是,您需要完全限定其中的任何類型,例如:'LedDriver :: LedDriver led'(或:'使用名稱空間LedDriver',或者:'使用LedDriver :: LedDriver')。 – szczurcio
嘗試'LedDriver :: LedDriver領導;'。 – JimmyB
當我添加'使用命名空間LedDriver',出現錯誤'引用'LedDriver'模糊'。我試圖添加'LedDriver ::',但'未定義的引用'LedDriver :: LedDriver :: LedDriver()'出現。 – hiroaki