Параметр 'this' используется вне функции-члена — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Параметр 'this' используется вне функции-члена

2022-10-05 41
Параметр 'this' используется вне функции-члена 0.00 из 5.00 0 оценок
Заказать работу

'this' outside member function

Указатель 'this' получают только нестатические функции члены. Функции нечлены классов и статические функции члены классов не получают указатель 'this', поэтому он может быть использован только внутри нестатических функций членов класса.

class A; A* f() { return this; }

FEC00092 ERROR

(internal) переполнение 64-разрядного арифметического

Internal 64-bit arithmetic overflow

Внутри компилятора все вычисления целочисленных константных выражений производятся с использования 64-разрядной арифметики. Выражение в программе вызвало переполнение этой 64-разрядной арифметики. Упростите выражение.

const int i = 0xFFFFFFFF * 0xFFFFFFFF / 0xFFFFFFFF;

FEC00095 ERROR

(III pass only) implicit conversion integer (%s) to character

(III pass only) implicit conversion integer (%s) to character

FEC00100 ERROR

Слишком много инициализаторов для '%s'

Too many initializers for '%s'

Попытка инициализировать указатель на член класса агрегатным инициализатором который содержит более одного элемента, что не допустимо. Агрегатные инициализаторы рекомендуется использовать только для инициализации массивов и POD структур.

struct A { int a; }; int A::*p = { 0, 0 };

FEC00101 ERROR

FEC00102 ERROR

Квалифицированное имя недопустимо

Qualified name is not allowed

В единице трансляции нет ни одного внешнего объявления, которое могло бы быть использовано из других единиц трансляции. Такой модуль не может быть использован из других единиц трансляции.

FEC00103 ERROR

В программе необходимо хотя бы одно внешнее объявление

No program

В единице трансляции нет ни одного внешнего объявления, которое могло бы быть использовано из других единиц трансляции. Такой модуль не может быть использован из других единиц трансляции.

FEC00104 ERROR

объект '%s' неполного типа следует объявлять как 'extern'

Object '%s' of incomplete type might be declared extern

В объявлении массива не указана размерность, это допустимо только для объявления массивов из других модулей, однако в этом случае необходимо явно указывать что объект имеет внешнее связывание. Объявите массив как 'extern' или укажите размерность.

int a[];

FEC00105 ERROR

Нельзя инициализировать '%s' как агрегат

Cannot initialize '%s' like aggregate

Объект нельзя инициализировать агрегатом. Объекты классовых типов можно инициализировать агрегатами только если они является POD структурами. Такой класс не должен иметь ни одного конструктора, не должен содержать объектов с конструкторами или иметь не общедоступные члены.

class A { int a; }; A a = { 1 };

FEC00106 ERROR

Несовместимые типы '%s' и '%s' в операции '?:'

Incompatible types '%s' and '%s' in?: operator

Типы второго и третьего операнда в тернарной операции "?:" несовместимы. Это происходит, когда не существует стандартного преобразования из одного типа в другой. Результат вычисления тернарной операции должен давать один и тот же тип, вне зависимости от того, второе или третье выражение будет вычислено.

void f(int i, void* pv) { int j = i? i: pv; }

FEC00107 ERROR

Нельзя преобразовать '%s' в '%s'

Cannot convert '%s' to '%s'

Ожидаемый тип в выражении не соответствует действительному типу выражения, и между действительным типом и ожидаемым нет неявного преобразования. Проверьте действительный тип выражения и ожидаемый тип, если необходимо добавьте явное преобразование типов

 int f(void* pv) { return pv; }

FEC00108 ERROR

Вызов применен не к функции и не к указателю на функцию

Call of nonfunction

FEC00109 ERROR

Рассогласование типов в присваивании '%s = %s'

Type mismatch for assign '%s' to '%s'

Тип левого и правого операнда в операции присваивания не соответствуют друг другу, и нет операции неявного преобразования типов. Проверьте типы левого и правого операнда в операции присваивания, если необходимо вставте операцию преобразования типа.

void f(int i) { void* pv; pv = i; }

FEC00110 ERROR

Нельзя присваивать значение объекту константного типа '%s'

Cannot assign a value to object of constant type '%s'

Константа в пределах своей области видимости не может изменить свое значение после инициализации. Вы можете снять констанатность с помощью 'const_cast', смотрите документацию.

void f() { const int ci = 5; ci = 3; }

FEC00111 ERROR

Статический член класса '%s' инициализирован дважды

Static class member '%s' is initialized twice

Статический член класса может быть иницилизирован только один раз в программе. Удалите повторную инициализацию статического члена класса.

class A { static int ai; }; int A::ai = 1; int A::ai = 2;

FEC00112 ERROR

неоднозначный оператор '?': 2-й операнд типа '%s' может быть преобразован к 3-му операнду типа '%s' и наоборот

ambiguous '?' operation: second operand of type '%s' can be converted to third operand type '%s', and vice versa

Статический член класса может быть иницилизирован только один раз в программе. Удалите повторную инициализацию статического члена класса.

class A { static int ai; }; int A::ai = 1; int A::ai = 2;

FEC00113 ERROR

Функция '%s' описана как inline после ее использования как не-inline

Function '%s' defined inline after use as non-inline

Предупреждение: 'inline' функции следует описывть до их первого использования. На некоторых компилятора использование 'inline' функции до описания, может приводить к тому, что компилятор не сможет сделать 'inline' функцию встраиваимой.

void f(); void g() { f(); } inline void f() { }

FEC00114 ERROR


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.