DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
2421
Tıklama
0
Öne Çıkarma
C++ array, pointer, fonksiyon return değeri
W
11 yıl (1760 mesaj)
Binbaşı
Konu Sahibi

Merhabalar, C++ ile bir kelimenin içindeki ünlüleri veren bir fonksiyon yazdım;
string *KelimedekiUnluler(string kelime) 
{
string unluler[kelime.length()];
string mevcutUnluler = "aeiou";
int unluSayac = 0;
for (int i = 0; i < kelime.length(); i = i + 1)
{
if (mevcutUnluler.find(kelime[i]) != -1)
{
if (kelime[i + 1] == '.')
{
unluler[unluSayac] = kelime.substr(i, 2);
cout << unluler[unluSayac];
unluSayac++;
}
else
{
unluler[unluSayac] = kelime.substr(i, 1);
cout << unluler[unluSayac];
unluSayac++;
}
}
}
return unluler;
}

Normalde fonksiyon çıktı yapmayacak, test etmek için cout koydum ve çalışıyor. Ama geriye döndürdüğü değerde bir sıkıntı var.
Ben bu fonksiyondan gelen değerleri bir string dizisine aktarmak istiyorum, fakat geriye dönen pointerdan hiçbirşekilde veri alamıyorum.
 
string kelime = "deneme";
string* retVal = KelimedekiUnluler(kelime);
cout << *(retVal + 1);

Mesela bunu denediğimde ilk önde eee çıktısını alıyorum fonksiyon içi cout'lardan daha sonra da program çalışmayı durduruyor ve 3221225477 değeriyle kapanıyor.

Bu fonksiyonu pointer kullanmadan yazamaz mıyım? C++'ta bir fonksiyonun geri dönüş değeri string arrayi olabilir mi?