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

Is есть ли способ использовать анонимные классы в 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.
11
задан Null 7 October 2015 в 14:39
поделиться