Bunun neden çalışmadığını anlayamıyorum. Her üç dosyamı da koyacağım ve muhtemelen birisi bana bu hatayı neden attığını söyleyebilir. Programı derlemek için g ++ kullanıyorum.C++ tanımlanmış işleve tanımsız başvuru
Programı:
#include <iostream>
#include "h8.h"
using namespace std;
int main()
{
char sentence[MAX_SENTENCE_LENGTH];
char writeTo[] = "output.txt";
int distanceTo,likePosition, length, numWords;
cout << "ENTER A SENTENCE! ";
cin.getline(sentence, 299);
length = strlen(sentence);
numWords = wordCount(sentence, length);
for(int x = 0; x < 3; ++x)
{
likePosition = likePos(numWords);
distanceTo = lengthTo(sentence, likePosition, length);
insertLike(sentence, distanceTo, length, writeTo);
}
return 0;
}
Fonksiyon dosyası:
void insertLike(const char sentence[], const int lengthTo, const int length, char writeTo[])
{
char part1[MAX_SENTENCE_LENGTH], part2[MAX_SENTENCE_LENGTH];
char like[] = " like ";
for(int y = 0; y < lengthTo; ++y)
part1[y] = sentence[y];
for(int z = lengthTo+1; z < length - lengthTo; ++z)
part2[z] = sentence[z];
strcat(part1, like);
strcat(part1, part2);
writeToFile(sentence, writeTo);
return;
}
Başlık dosyası:
void insertLike(const char sentence[], const int lengthTo, const int length, const char writeTo[]);
hata aynen edilir:
undefined reference to 'insertLike(char const*, int, int, char const*)'
collect2: ld returned 1 exit status
'a göre, g ++ * .c 'bile bile tamamen/headfloor yapıyorum. şimdi. – Mashew
Bazen sadece ekstra göz küreleri alır, dostum. :) C'yi ne zaman öğrendiğimi hatırlıyorum ve yarım günlüğümü klavyede hayal kırıklığıyla becermeye harcadım, o zaman kayınpederim eve gelip omzumun üzerine gelin, "Bir noktalı virgül eksik Orada." >.> – Mud
Hiç kayınpederim olmadı. Muhtemelen neden yarım günden fazla zamanımı hayal kırıklığı içinde kafamı klavyeye vurdum :-) –