52099


X window プログラミングで、

STRUCTURES  
The XTextProperty structure contains:

[code]

    typedef struct {
            unsigned char *value;   /* property data */
            Atom encoding;  /* type of property */
            int format;     /* 8, 16, or 32 */
            unsigned long nitems;   /* number of items in value */
    } XTextProperty;
    
[/code]

を用いて

[code]

    XTextProperty window_name;
    
[/code]

と宣言し、

[code]

    window_name.value = "hoge";
    
[/code]

のように代入を行うと。

warning: assigning to 'unsigned char *' from 'char [2]'  
converts between pointers to integer types with different sign

ビルド時に上記のような警告が出力されます。

質問の内容としては

  1. 警告が出ている原因が知りたい
  2. 警告が出ないような記述の仕方が知りたい

です。

ご教示お願い致します。


CC BY-SA 4.0
2019-01-18T22:16:38.733
52093
2019-01-19T04:14:41.420
2019-01-19T03:41:08.373
76
30707
question
c x11
型変換の警告が出る


`"hoge"`が`unsigned char`型のポインタではなく、暗黙的に型変換できないから警告されるのだと思います。  
なので`window_name.value = (unsighed char*)"hoge";`としてあげれば良いように思います。


CC BY-SA 4.0
2019-01-19T04:14:41.420
52099
2019-01-19T04:14:41.420
25936
52093
answer