172 похожих чатов

Всем привет, есть struct Test { a: u32, b: u64 } в

другом месте кода я хочу обращаться к этой структуре, допустим в другой структуре

например:

struct Test2 {
testField: Test::a,
testField2: u64
}

Как это можно реализовать?

12 ответов

17 просмотров

Это не имеет смысла, поскольку Test::a — это НЕ тип (а идентификатор).

Wsevolod
Почему не имеет смысла? https://godbolt.org/z/M3se...

Ну вот Вы понимаете, что Вы там превратили идентификатор в его тип?

Alexander Chichigin
Ну вот Вы понимаете, что Вы там превратили идентиф...

Так не имеет смысла концепция, или синтаксис в примере?

Wsevolod
Так не имеет смысла концепция, или синтаксис в при...

Ну, раз Вы не отличаете идентификаторы от типов, то не важно.

Alexander Chichigin
Ну, раз Вы не отличаете идентификаторы от типов, т...

В моем примере внутри decltype не идентификатор.

Wsevolod
В моем примере внутри decltype не идентификатор.

Fully qualified member name? Не идентификатор? Ясно-понятно. 👍

trait HasA { type AType; } struct Test2 { field: <Test as HasA>::AType, }

Alexander Chichigin
Fully qualified member name? Не идентификатор? Ясн...

Не так выразился. Я про то, что там может быть любое выражение

Аналога decltype в расте нет. Если в двух местах нужен один тип, то нужно в двух местах прописать один тип. Способы могут быть разные.

s-l Автор вопроса

Похожие вопросы

Обсуждают сегодня

Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
лучше скажите, причём тут паскаль?
Alexey Kulakov
22
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
#include <stdio.h> #include <stdlib.h> #include <time.h> int** generate_table(int size_matrix) { int** matrix = (int**)malloc(size_matrix * sizeof(int*)); for (int i ...
Чувак
1
@PerlBanjoBot use v5.38; sub split_on_cond($arr, $cond) { ($a, $b) = ([], []); push @{ $cond->($_) ? $a : $b }, $_ for @$arr; ($a, $b) } use Data::Dumper; warn Dumpe...
Sergei Zhmylove
10
Всем привет! как узнать, что текст в TSkLabel был выведен сокращенным ? Есть функция для TLabel которая позволяет определить , что текст выведен сокращенным function TFrmMai...
DELPHI SOLUTIONS
6
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Дебил? Я ищу друга
Bitard 228
27
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Карта сайта