Ошибка при открытии следующего класса

Здесь много правильных ответов, но я хотел добавить это (для полноты):

Если вы в нижней части файла cpp реализации выполняете явное инстанцирование всех типов, которые будут использоваться шаблоном с, компоновщик сможет найти их как обычно.

Изменить: добавление примера явного создания экземпляра шаблона. Используется после того, как шаблон определен, и определены все функции-члены.

template class vector<int>;

Это создаст экземпляр (и, следовательно, сделает доступным для компоновщика) класс и все его функции-члены (только). Подобный синтаксис работает для функций шаблона, поэтому, если у вас есть перегрузки операторов, не являющихся членами, вам может понадобиться сделать то же самое для них.

Вышеприведенный пример бесполезен, поскольку вектор полностью определен в заголовках, за исключением случаев, когда common include file (precompiled header?) использует extern template class vector<int>, чтобы не создавать его из всех других (1000?) файлов, которые используют вектор.

-1
задан Frank van Puffelen 13 July 2018 в 17:48
поделиться

1 ответ

Вы получаете исключение Firebase Context.

java.lang.RuntimeException: You need to set the Android context using Firebase.setAndroidContext() before using Firebase

В зависимости от того, какую версию вы используете, вам необходимо передать контекст приложения в Firebase, как это

public class MyApplication extends android.app.Application {

    @Override
    public void onCreate() {
        super.onCreate();

        //Previous versions of Firebase
        Firebase.setAndroidContext(this);

        //Newer version of Firebase
        if(!FirebaseApp.getApps(this).isEmpty()) {
            FirebaseDatabase.getInstance().setPersistenceEnabled(true);
        }
    }
}

Обновите свой манифест с помощью

<application 
        android:label="@string/app_name"
        android:name=".MyApplication">
...
</application>
1
ответ дан adityakamble49 17 August 2018 в 12:19
поделиться
  • 1
    @Akash Вы получаете эту ошибку, потому что используете версию Firebase, которой больше 2 лет. Рассмотрите возможность обновления до более нового Firebase SDK, как показано здесь: firebase.google.com/support/guides/… – Frank van Puffelen 13 July 2018 в 18:04
  • 2
    Что следует изменить в моем коде? @FrankvanPuffelen – Akash 13 July 2018 в 18:18
Другие вопросы по тегам:

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