Я работаю с двумя функциями из сторонних библиотек. Одна возвращает const char*
, а другая принимает const u_char*
. Изменить функции не представляется возможным.
Я пробовал использовать static_cast<>()
и reinterpret_cast<>()
, но такое преобразование является некорректным. Как и преобразование простым приведением типов в стиле Си.
Как следует поступить в моей ситуации?
Ошибки ещё во время компиляции:
error: invalid static_cast from type 'const char*' to type 'const u_char* {aka const unsigned char*}'
const u_char* pbuf = static_cast<const u_char*>(buf);
Всё зависит о того, что вы называете корректным, следующий код компилируется и выводит строку:
void foo(const unsigned char* str) {
cout << str; // Test string
}
int main() {
const char *str = "Test string";
foo(reinterpret_cast<const unsigned char*>(str));
return 0;
}
Создать пустой список указателей на объекты класса Круг, используя коллекции языка С++ (например, std::vector<T>)
Есть функция внутри метода, находящая необходимую клетку на поле: