title: In C++ or Arduino, how do you accept an argument of unknown type in a function?
body: <p>I'm trying to implement a <code>puts</code> method that simply logs stuff using Serial.print</p>
  
  <pre><code>void puts(char explanation, void value){
    if (log){
      Serial.print(explanation);
      Serial.println(value); 
    }
  }
  </code></pre>
  
  <p>calling it like</p>
  
  <p><code>puts('hello', 12);</code> or <code>puts('hello', 'foo');</code></p>
  
  <p>currently I'm getting the error <code>'value' has incomplete type</code></p>
  
  <p>if I use <code>void* value</code> in the declaration I get the error <code>invalid conversion from 'int' to 'void'</code></p>