Можно ли использовать анонимный класс в качестве возвращаемых типов в C ++?

Есть ли способ использовать анонимные классы в C ++ в качестве возвращаемых типов?

Я гуглил, что это может сработать:

struct Test {} * fun()
{
}

Но этот кусок кода не компилируется, сообщение об ошибке:

новые типы не могут быть определены в возвращаемом типе

На самом деле код не имеет никакого смысла, я просто хочу выяснить, может ли анонимный класс использоваться в качестве возвращаемого типа в C ++.

Вот мой код:

#include <typeinfo>
#include <iterator>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>

using namespace std;

int main(int argc, char **argv)
{
    int mx = [] () -> struct { int x, y ; } { return { 99, 101 } ; } ().x ;
    return 0;
}

Я компилирую этот код с помощью g ++ xx.cpp -std = c ++ 0x, компилятор компенсирует:

expected primary-expression before '[' token.

Ответы на вопрос(6)

Ваш ответ на вопрос