Как определить, содержат ли файлы .h функции, которые не определены в файле .cpp? - PullRequest
1 голос
/ 12 декабря 2011

Проблема проста ... Я вручную пишу файлы .h и .cpp, поэтому иногда я переживаю, что неправильно объявлю функцию и из-за ошибки ввода или чего-то другого я либо определю другую функцию, либо полностью забуду об этом.Так есть ли инструмент, который бы рекурсивно просматривал все возможные исходные папки и обнаруживал, если пары (SOMETHING.cpp и SOMETHING.h) имеют несовпадения ... Я знаю, что иногда это желательно (или, по крайней мере, я помню, что слышал, что это трюккакой-то) но я бы хотел этого избежать.

1 Ответ

3 голосов
/ 12 декабря 2011

Когда вы попытаетесь использовать эту функцию, вы получите сообщение об ошибке от компоновщика. Поскольку вы тестируете все функции, которые вы пишете (надеюсь, вы), вы не сможете связать тесты, если у вас есть опечатка в имени функции в источниках.

Еще одна вещь, которая может помочь: поместить ваши функции в пространство имен. В шапке вы напишите

namespace MyNamespace {
void myFunction(...)
}

В источнике вы не открываете пространство имен, а указываете его для каждой функции:

void MyNamespace::myFunction(...) { ... }

Если myFunction ранее не было объявлено в MyNamespace, компилятор пожалуется.

...