Как избежать побочных -эффектов приведения «(void )a»?

У меня есть этот код, и GCC печатает «что!?». Как я могу избежать этого, чтобы приведение к пустоте просто имело C, означающее «Игнорировать одинокое «а;»»?

#include <iostream>

struct A {
  template<typename T>
  operator T() { 
    std::cout << "what!?";
  }
};

int main() {
  A a;
  (void)a;
}
12
задан Johannes Schaub - litb 3 August 2012 в 10:54
поделиться