#include constexpr int square(int x) { return x * x; } constexpr int squareToSquare(int x){ return square(square(x));} int main() { std::cout << std::endl; static_assert(square(10) == 100,"you calculated it wrong"); static_assert(squareToSquare(10) == 10000 ,"you calculated it wrong"); auto ten=10; int square10= square(10); std::cout<< "square(10)= " << square(10) << std::endl; std::cout<< "squareToSquare(10)= " << squareToSquare(10) << std::endl; constexpr int constExpr= square(10); int arrayClassic[100]; int arrayNewWithConstExpression[constExpr]; int arrayNewWithConstExpressioFunction[square(10)]; std::cout << std::endl; }