2011-04-28 23 views

回答

3

您正在傳遞類型爲const char[2]的字符串文字(" ")(其中一個元素包含空格,另一個元素用於終止\0)。你想傳遞一個字符,用單引號寫入:func(' ')

QString::remove()函數對字符串和單個字符都重載。即使在這種情況下,您想要傳遞一個字符文字' ',這比" "更有效(後者意味着致電strlen())。

1

嘗試寫

void main() { 
    func(' '); 
} 

看起來像編譯器認爲你通過const char*而不是char由於雙引號。 從const char*沒有QChar的構造函數。

+0

不,不存在'QChar(const char *)'。 – 2011-04-28 08:08:31

+0

@mmutz:哦,我的意思是寫「不」,只是拼錯了。感謝您的糾正。 – beduin 2011-04-28 08:11:02