2014-12-12 5 views
3

Я объявилНеоднозначность Ссылка для типа pthread_mutex_t

pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; 

в глобальном пространстве моей основной программы, main.cpp.

Однако, когда я пытаюсь обратиться к нему в определении функции, например,

void foo(void) 
{ 
    pthread_mutex_lock(&mutex); 
    ... 
} 

будет отображаться следующее сообщение об ошибке:

ссылка на «мьютекс» неоднозначен

Любая идея, что происходит? Если это помогает, это записывается в xcode, и я включил его в заголовок программы.

ответ

2

Получается, что после изменения имени от мьютекса до mutex1 ошибки исчезли. Я думаю, потому что мьютекс - это функция где-то ...

+3

Похоже, что у вас есть проблема с загрязнением пространства имен. У вас есть какие-либо директивы 'using namespace'? – wakjah

Смежные вопросы