Python'u bazı C++ kodlarıyla genişletiyorum.Python'dan C/C++ const char sorusuna
int PyArg_ParseTupleAndKeywords(PyObject *arg, PyObject *kwdict,
char *format, char **kwlist, ...);
(link: http://docs.python.org/release/1.5.2p2/ext/parseTupleAndKeywords.html)
ilgi parametre kwlist olduğunu ben kullanıyorum fonksiyonların
biri aşağıdaki imzası vardır. Yukarıdaki bağlantıda, bu işlevin nasıl kullanılacağına dair örnekler verilmiştir.
warning: deprecated conversion from string constant to ‘char*’
Yani, statik const char statik char * değiştirebilir *: Bu kullanarak g ++ derlerken
static char *kwlist[] = {"voltage", "state", "action", "type", NULL};
, ben uyarı olsun: örneklerde, kwlist benziyor. Maalesef Python kodunu değiştiremiyorum. Bu nedenle, farklı bir derleme hatası alıyorum (char ** 'yi const char **' ya dönüştürebilir). Burada okuduğum bilgilere dayanarak, uyarıyı yok saymak için derleyici bayraklarını açabilirim veya kwlist tanımındaki sabit dizelerin her birini char * 'a atabilirim. Şu anda ikincisini yapıyorum. Diğer çözümler nelerdir?
Bu soru daha önce sorulmuşsa özür dilerim. Yeniyim.
Eminim PyArg_ParseTupleAndKeywords() kwlist'i değiştirmeyi beklemez. Öneriniz faydalıdır. Teşekkürler. – Eugene