user88434: I have written this code:
char message[4];
memcpy(message, &delta, 4);

Wire.write(message, 4);

When I try to compile I get this warning:
warning: invalid conversion from ‘char*’ to ‘const uint8_t* {aka const unsigned char*}’ [-fpermissive]
   Wire.write(message, 4);
                        ^

Also followed by this note:
In file included from main.ino:5:0:
/usr/share/arduino/libraries/Wire/Wire.h:61:20: note:   initializing argument 1 of ‘virtual size_t TwoWire::write(const uint8_t*, size_t)’
     virtual size_t write(const uint8_t *, size_t);
                    ^

I do not understand what is wrong?

user31105: Try
Wire.write((const uint8_t*) message, 4);

I.e., cast it to the correct type, uint8_t and char are the same (at least on Arduino and for this example, as you do not char about unsigned/signed values).
(see also the comment of the busybee below, for using the cleaner C++ cast).

88434: <p>I have written this code:</p>
<pre><code>char message[4];
memcpy(message, &amp;delta, 4);

Wire.write(message, 4);
</code></pre>
<p>When I try to compile I get this warning:</p>
<pre><code>warning: invalid conversion from ‘char*’ to ‘const uint8_t* {aka const unsigned char*}’ [-fpermissive]
   Wire.write(message, 4);
                        ^
</code></pre>
<p>Also followed by this note:</p>
<pre><code>In file included from main.ino:5:0:
/usr/share/arduino/libraries/Wire/Wire.h:61:20: note:   initializing argument 1 of ‘virtual size_t TwoWire::write(const uint8_t*, size_t)’
     virtual size_t write(const uint8_t *, size_t);
                    ^
</code></pre>
<p>I do not understand what is wrong?</p>
 31105: <p>Try</p>
<pre><code>Wire.write((const uint8_t*) message, 4);
</code></pre>
<p>I.e., cast it to the correct type, uint8_t and char are the same (at least on Arduino and for this example, as you do not char about unsigned/signed values).</p>
<p>(see also the comment of the busybee below, for using the cleaner C++ cast).</p>
