LINUX.ORG.RU

История изменений

Исправление Kroz, (текущая версия) :

Не это ли тебе нужно?

$ сat test.cpp
#include <iostream>
#include <iomanip>

struct Data
{
  const int a;
  const int b;
};

int main()
{
  Data d1{a:1, b:2};

  std::cout << "A=" << d1.a << ", B=" << d1.b << std::endl;

  Data d2{a:2};
  std::cout << "A=" << d2.a << ", B=" << d2.b << std::endl;

  return 0;
}
[s]kroz@lix:~/tmp/delem> g++ -Wextra -std=c++1z ./test.cpp -o test && ./test
./test.cpp: In function ‘int main()’:
./test.cpp:17:14: warning: missing initializer for member ‘Data::b’ [-Wmissing-field-initializers]
   Data d2{a:2};
              ^
A=1, B=2
A=2, B=0

Нюансы:
- всё равно нужно параметры ставить в нужном порядке.
- по идее gcc-specific
Но это не существенно для твоей задачи, так?

Исправление Kroz, :

Не это ли тебе нужно?

$ сat test.cpp
#include <iostream>
#include <iomanip>

struct Data
{
  const int a;
  const int b;
};

int main()
{
  Data d1{a:1, b:2};

  std::cout << "A=" << d1.a << ", B=" << d1.b << std::endl;

  Data d2{a:2};
  std::cout << "A=" << d2.a << ", B=" << d2.b << std::endl;

  return 0;
}
[s]kroz@lix:~/tmp/delem> g++ -Wextra -std=c++1z ./test.cpp -o test && ./test
./test.cpp: In function ‘int main()’:
./test.cpp:17:14: warning: missing initializer for member ‘Data::b’ [-Wmissing-field-initializers]
   Data d2{a:2};
              ^
A=1, B=2
A=2, B=0

Нюансы: - всё равно нужно параметры ставить в нужном порядке. - по идее gcc-specific Но это не существенно для твоей задачи, так?

Исходная версия Kroz, :

Не это ли тебе нужно?

$ сat test.cpp
#include <iostream>
#include <iomanip>

struct Data
{
  const int a;
  const int b;
};

int main()
{
  Data d1{a:1, b:2};

  std::cout << "A=" << d1.a << ", B=" << d1.b << std::endl;

  Data d2{a:2};
  std::cout << "A=" << d2.a << ", B=" << d2.b << std::endl;

  return 0;
}
[s]kroz@lix:~/tmp/delem> g++ -Wextra -std=c++1z ./test.cpp -o test && ./test
./test.cpp: In function ‘int main()’:
./test.cpp:17:14: warning: missing initializer for member ‘Data::b’ [-Wmissing-field-initializers]
   Data d2{a:2};
              ^
A=1, B=2
A=2, B=0

Нюанс - всё равно нужно параметры ставить в нужном порядке. Но это не существенно для твоей задачи, так?