2016-08-09 4 views
1

Я бегу через libgit2sample code for getting the content of blobs, и я ударил проблема с линией:libgit2 GIT_BUF_INIT uneclared; где он должен быть объявлен?

git_buf filtered_content = GIT_BUF_INIT; 

Я получаю ошибку C2065: 'GIT_BUF_INIT': undeclared identifier, который имеет смысл, потому что я не могу найти это определено в любом из включая заголовочные файлы. Поскольку никто, кажется, не задал этот вопрос, прежде чем я почувствую сильное чувство, что мне не хватает чего-то очевидного. Любые идеи о том, что мне нужно сделать, чтобы использовать GIT_BUF_INIT?

ответ

1

Это указано внутри библиотеки, поскольку оно ссылается на внутренний буфер. Вы должны обнулить структуру, как обычно, для C.

Если примеры содержат GIT_BUF_INIT, они, вероятно, были извлечены из тестов, и мы пропустили, что они недоступны на улице.

+0

Я новичок в C, и я не уверен, как создать структуру, не зная, какой размер она должна быть. Я попробовал: \t char initbuf [0]; \t git_buf filt_content = {initbuf, 0, 0}; , но я не могу выделить массив нулевого размера. Как инициализировать filter_content, чтобы он мог быть заполнен? – user6594487

+0

Вы знаете размер, это 'sizeof (git_buf)'. Вы можете обнулить его с помощью 'memset' или сделать что-то вроде' git_buf buf = {NULL} ' –

+0

Получил это - спасибо большое. – user6594487

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

  • Нет связанных вопросов^_^