передача параметров

Не так все тривиально в С . Рассмотрим некоторые насущные примеры передачи параметров в функцию, конструкторы и т.д.

Вот первый пример с передачей QString, который связан с установкой значения по умолчанию ссылке. возможно, что вы тоже  не знали (век живи - век учись):

(static) int Msg::foo(
   const QString &txt1 = QString(), // так можно
         QString &txt1 = QString(), // а так НЕЛЬЗЯ !
   const QString &txt3 = 0, // так можно тоже!
) (const);

Для указателей вроде все проще, от const не зависит ошибка сборки

int foo(
	const QString *txt1 ,
	      QString *txt2 ,
	const QString *txt3 = 0,
	      QString *txt4 = 0
	);