LLVM, что означает i32 (...) ** в определении типа? - PullRequest
0 голосов
/ 13 февраля 2019

Я создаю класс с именем student:

class Student{
 public:
  int getNumber() const {
    return number;
  }
  virtual void setNumber(int number) {
    Student::number = number;
  }
 private:
  int number;
};

и преобразую его в IR, но одна часть меня сильно смутила:

%class.Student = type <{ i32 (...)**, i32, [4 x i8] }>

Я считаю, что часть i32 (...)**предназначен для v-таблицы, часть i32 предназначена для int number, а часть [4 x i8] для выравнивания.Но я искал ссылки на язык и не смог найти, что означает i32 (...)**, может кто-нибудь сказать мне, что это значит?

...