как "отключить" namespace ?
можно засунуть этот юзинг нэймспейс в блок
разумеется, можно и явно указывать необходимый нэймспейс в первой части кода (или наоборот, во второй части явно указывать, что нэймспейс не нужен)
Спасибо, в принципе чтото типа второго способа и хотел придумать
Новый код
__________________________________________________
//using namespace std - убрал, использую явное указание пространства
#include <string> // нужно, поскольку тип string используется в С++ коде,
//при этом string не является частью namespace std
..
C++ код зависимый от <string>
int function (string input)
{
return (0);
}
..
-<>-
..
далее C код, вроде не зависимый от namespace или string, однако изза наличия #include <string>, теперь уже не компилирующийся
ошибка в точности как при использовании namespace
..
____________________________________________________________
В этом случае можно ли чтонибудь поделать?
Спасибо
ошибка в точности как при использовании namespaceа что за ошибка-то конкретно?
Спасибо за участие в любом случае
Пытаешься использовать namespace в программе на C ?
/usr/include/libintl.h error: expected unqualified-id before ‘const’
/usr/include/libintl.h error: expected `)' before ‘const’
/usr/include/libintl.h error: expected initializer before ‘const’
/usr/include/libintl.h error: expected unqualified-id before ‘const’
/usr/include/libintl.h error: expected `)' before ‘const’
/usr/include/libintl.h error: expected initializer before ‘const’
/usr/include/libintl.h error: expected unqualified-id before ‘const’
/usr/include/libintl.h error: expected `)' before ‘const’
/usr/include/libintl.h error: expected initializer before ‘const’
/usr/include/libintl.h error: expected unqualified-id before ‘const’
/usr/include/libintl.h error: expected `)' before ‘const’
/usr/include/libintl.h error: expected initializer before ‘const’
/usr/include/libintl.h error: expected unqualified-id before ‘const’
/usr/include/libintl.h error: expected `)' before ‘const’
/usr/include/libintl.h error: expected initializer before ‘const’
make: *** [gpredmd_newsubject/gpredmd_newsubject_callbacks.o] Ошибка 1
make: Цель `all' не была пересобрана из-за ошибок.
Нет, пытаюсь использовать нагенеренный С код в программе на С++, это порочно?
Это не всегда возможно. Может, проще генерить C++ код ?
Так непонятно. Сделай _маленькую_ программу, которую можно скомпилировать и увидеть проблему.
Как поможет маленькая программа, которая компилируется без ошибок?
#include <gtk/gtk.h>
int main( int argc,
char *argv[] )
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
gtk_main ;
return 0;
}
Например вот
зы. Предполагаю что добавление в маленькую программу #include <string> приведет к ошибке (правда ручаться не могу, но если есть желание могу проверить)
Как поможет маленькая программа, которая компилируется без ошибок?Очевидно, тебя просили маленькую программу, которая компилируется с ошибками. Си-шные заголовки надо включать так:
extern "C"
{
#include
}
Оставить комментарий
vertyal17
Вобщем проблема примерно такая: есть С++ код__________________________________________________
using namespace std
..
C++ код зависимый от namespace
..
-<>-
..
далее C код, вроде не зависимый от namespace, однако изза наличия using namespace std, теперь уже не компилирующийся
..
____________________________________________________________
Что можно сделать? вроде как по логике надо бы в месте -<>- "выйти" из namespace std, может перейти к какомуто стандартому. Можно ли это както разрешить?