Основываясь на ответе bigless, я думаю, что вы могли бы создать функцию проверки JavaScript для проверки формы, таким образом, вы могли бы использовать кнопку сброса типа и код this.form.reset (), как показано ниже:
[ 110]Да создают заголовочные файлы обертки, которые включают Ваши заголовочные файлы C как так...
//Wrapper.h
#ifdef __cplusplus
extern "C"
{
#include "Actual.h"
}
#else
#include "Actual.h"
#endif
//Use.cpp
#include "Wrapper.h"
int main()
{
return 0;
}
//Use.c
#include "Wrapper.h"
/*or #include "Actual.h" */
int main()
{
return 0;
}
Используйте блок экстерна в #ifdef в заголовочных файлах кодов C
Запустите заголовочных файлов
#ifdef __cplusplus
extern "C" {
#endif
... и в конце заголовочных файлов
#ifdef __cplusplus
}
#endif
Таким образом, это будет работать на то, что было включено и в C и в источники C++
Используйте Препроцессор C. Сделайте что-то вроде этого:
#ifdef __cplusplus
extern "C" {
#endif
// code goes here
#ifdef __cplusplus
}
#endif
У нас есть макрос в заголовочном файле:
#ifdef __cplusplus
#define _crtn "C"
#else
#define _crtn
#endif
Затем в заголовочных файлах, мы можем использовать _crtn
:
#include "croutine.h"
extern _crtn void MyFunction( ... );
Единственный глюк должен удостовериться, что Вы включаете заголовочный файл, содержащий прототип MyFunction в файле, содержащем реализацию MyFunction так, чтобы это было скомпилировано с "C" связью.
Это совпадает с ответом @epatel, но только требует ужасного #ifdef
в одном заголовочном файле.