比方說,我有一個名爲Test
的類。在裏面,我已經聲明瞭一個名爲testResults
的結構。然後我寫了一個名爲performTest()
的成員函數。我想要這個函數來改變結構變量的值(它也需要其他輸入)。這是我做了什麼:調用成員函數內的成員結構體
(注:我已經減少了代碼,使其少麻煩你檢查)
在頭:
class Test : public BaseHardwareTest
{
Q_OBJECT
public:
explicit Test(QObject *parent = 0);
struct testResults {
int testOneRes[15];
int testTwoRes[5];
};
int performTest(int arg1, int arg2, struct testResults &testRes);
signals:
public slots:
};
源
:
int Test::performTest(int arg1, int arg2, Test::testResults &testRes)
{
for (int i = 0; i < 15; i++) {
if(arg1 < 12)
testRes.testOneRes[i] = -1;
else
testRes.testOneRes[i] = 1;
}
for (int i = 0; i < 5; i++) {
if(arg2 < 33)
testRes.testTwoRes[i] = -1;
else
testRes.testTwoRes[i] = 1;
}
return 1;
}
這是我的各種嘗試之一。這一個沒有任何錯誤,但我不能使用它。 我無法從我的主訪問成員結構。我是面向對象概念的新手,我無法使其工作。
標題/源代碼段有什麼問題嗎?如果不是,我該如何調用這個函數?任何幫助?解決
[編輯]問題:
原來的問題是關於完全另一回事。我用 兩個項目(一個是一個庫,另一個是用於測試 庫。讓我們分別給他們打電話TESTLIB和測試儀) 具有相關性。當我改變TESTLIB項目的事情,我 必須去相關TESTLIB的位置,距離的main.cpp爲了 的測試讓我的IDE看到的變化並進行相應的更新。由於我是 在兩個單獨的文本編輯器窗口中工作,並沒有做我上面說的 ,我的IDE沒有看到
Test
類的新成員, 沒有建議我當我輸入Test:: testRes
- 。這讓我 認爲我無法訪問新的成員結構。感謝大家 尋求幫助。
請顯示'main'的代碼。它應該像'Test :: testResults'一樣簡單。 – Quentin
你是什麼意思「我不能從我的主要訪問成員結構」;什麼是錯誤?顯示更多代碼。 – shrike
顯示美國'主()',你也不必'結構testResults&testRes',你只需要'testResults&testRes' – dtech