Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Passando unique_ptr como parametro para os métodos Qt
Forum Updated to NodeBB v4.3 + New Features

Passando unique_ptr como parametro para os métodos Qt

Scheduled Pinned Locked Moved Portuguese
2 Posts 1 Posters 1.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Exotic_Devel
    wrote on last edited by
    #1

    Estou fazendo uso de unique_ptr no código, porém quando tento passar esse ponteiro para um método do Qt o complilator reclama sobre conversão e não reconhece o método chamado passando um unique_ptr

    exemplo:

    @ unique_ptr<QUiLoader> loader ( new QUiLoader());
    unique_ptr<QFile> ui_file (new QFile("Forms/MainWindow.ui"));

    return loader->load(ui_file, parent);@

    erro

    @error: no matching function for call to ‘QUiLoader::load(std::unique_ptr<QFile>&, QWidget*&)’
    return loader->load(ui_file, parent);
    note: no known conversion for argument 1 from ‘std::unique_ptr<QFile>’ to ‘QIODevice*’
    @

    1 Reply Last reply
    0
    • E Offline
      E Offline
      Exotic_Devel
      wrote on last edited by
      #2

      a solução é o método get() de unique_ptr

      @
      ui_file->open(QFile::ReadOnly);
      return loader.get()->load(ui_file.get(), parent);@

      unique_ptr não é o ponteiro propriamente dito, é um conteiner que armazena um ponteiro.

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved