Warning как его исправить

This question comes up as one of the top 3 hits for the Google search for «how to suppress -Wunused-result in c++», so I’m adding this answer here since I figured it out and want to help the next person.

In case your warning/error is -Wunused (or one of its sub-errors) or -Wunused -Werror only, the solution is to cast to void:

For -Wunused or one of its sub-errors only1, you can just cast it to void to disable the warning. This should work for any compiler and any IDE for both C and C++.

1Note 1: see gcc documentation here, for example, for a list of these warnings: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html, then search for the phrase «All the above -Wunused options combined» and look there for the main -Wunused warning and above it for its sub-warnings. The sub-warnings that -Wunused contains include:

  • -Wunused-but-set-parameter
  • -Wunused-but-set-variable
  • -Wunused-function
  • -Wunused-label
  • -Wunused-local-typedefs
  • -Wunused-parameter
  • -Wno-unused-result
  • -Wunused-variable
  • -Wunused-const-variable
  • -Wunused-const-variable=n
  • -Wunused-value
  • -Wunused = contains all of the above -Wunused options combined

Example of casting to void to suppress this warning:

// some "unused" variable you want to keep around
int some_var = 7;
// turn off `-Wunused` compiler warning for this one variable
// by casting it to void
(void)some_var;  // <===== SOLUTION! ======

For C++, this also works on functions which return a variable marked with [[nodiscard]]:

C++ attribute: nodiscard (since C++17)
If a function declared nodiscard or a function returning an enumeration or class declared nodiscard by value is called from a discarded-value expression other than a cast to void, the compiler is encouraged to issue a warning.
(Source: https://en.cppreference.com/w/cpp/language/attributes/nodiscard)

So, the solution is to cast the function call to void, as this is actually casting the value returned by the function (which is marked with the [[nodiscard]] attribute) to void.

Example:

// Some class or struct marked with the C++ `[[nodiscard]]` attribute
class [[nodiscard]] MyNodiscardClass 
{
public:
    // fill in class details here
private:
    // fill in class details here
};

// Some function which returns a variable previously marked with
// with the C++ `[[nodiscard]]` attribute
MyNodiscardClass MyFunc()
{
    MyNodiscardClass myNodiscardClass;
    return myNodiscardClass;
}

int main(int argc, char *argv[])
{
    // THE COMPILER WILL COMPLAIN ABOUT THIS FUNCTION CALL
    // IF YOU HAVE `-Wunused` turned on, since you are 
    // discarding a "nodiscard" return type by calling this
    // function and not using its returned value!
    MyFunc();

    // This is ok, however, as casing the returned value to
    // `void` suppresses this `-Wunused` warning!
    (void)MyFunc();  // <===== SOLUTION! ======
}

Lastly, you can also use the C++17 [[maybe_unused]] attribute: https://en.cppreference.com/w/cpp/language/attributes/maybe_unused.

Уверен вам пригодится :P

[Waring]
%s- переменная

Переменная — это хранилище данных, куда мы можем записывать
различные данные для их последующего вызова. Тоесть действия с переменными предельно просты: запись информации,вывод и
использование информации. Если присмотрется ближе, то список можно пополнить еще одним пунктом — объявление переменной.
Каждая переменная имеет свое название, чтобы компилятор мог отличить друг от друга переменные, название мы задаем при
объявлении. Оператор объявления переменной — new

1)
PHP код:

warning 219: local variable "%s" shadows a variable at a preceding level  

Это значит что переменная дважды объявлена.
Пример:
PHP код:

new neka;
new neka

;
Что же нам делать, а вот что:
1) мы можем одну из них удалить;
2) можем изменить;

Но не стоит забывать что при изменении переменной нам нужно заменить все что её касается
вот пример правильного изменения:
PHP код:

 new neka1;
    neka1 = CreatePickup(1239, 2, 1380.3220,-1771.3235,13.5469); 

2)
PHP код:

warning 217: loose indentation

Это значит что код не табулирован(код не построен лесенкой)
Пример:

PHP код:

stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
if(!lNews[i]){
SendClientMessage(i, color, string);}}}}

пример правильного табулирования

PHP код:

stock LSNews(color,const string[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(!lNews[i])
            {
                SendClientMessage(i, color, string);
            }
        }
    }
}  

Что же делать? ответ прост
1) мы можем делать все вручную
2) можем поставить

#pragma tabsize 0

3) можем с помощи notepad++ все исправить (на форуме есть урок)

pragma tabsize — Он просто маскирует эти warning и не более

3)
PHP код:

warning 235: public function lacks forward declaration %s

Это означает что у функции нету forward
Пример:
Вы создали паблик
PHP код:

public lol()

И увас появляется этот варинг что же делать?
ответ прост
добавляем forward
PHP код:

forward lol();
public lol()  

если вы не хотите каждый раз писать forward то можно сделать так:
PHP код:

#define public:%1(%2) forward %1(%2);
public %1(%2) 

и тогда новые паблики мы пишем так
PHP код:

public:lol()

4)
PHP код:

warning 216: nested comment ;

Вот так это выглядит
PHP код:

/*case 458: //Fire&lvl  
исправление 
PHP код:
case 458: //Fire&lvl 

5)
PHP код:

warning 213: tag mismatch 

Это означает не совпадения аргументов
вот допустим самый простой случай:

PHP код:

#define CreateObject CreateDynamicObject
#define MoveObject MoveDynamicObject

решение простое

PHP код:

#define CreateObject, CreateDynamicObject
#define MoveObject,  MoveDynamicObject  

6)
PHP код:

warning 201: redefinition of constant/macro

Это означает что в дефайнах(define)
Пример:
PHP код:

#define OnPlayerEnterRaceCheckpoint
#define OnPlayerEnterRaceCheckpoint

Решение одну из двух удалить!
7)

PHP код:

warning 200: symbol "%s" is truncated to 31 characters

Это обозначает что мы при создании переменной ввели больше 31 символа
Пример:
PHP код:

new sssssssssssssssssssssssssssssss; 

Решение:
Просто сменить название или укоротить !
8)

PHP код:

warning 202: number of arguments does not match definition

Это значит что у нас не совпадают аргументы
Возьмем самый простой пример:
PHP код:

Create3DTextLabel(" ТУт типо текст .",0xFFA500FF,.0120,456.2717,35.1719,20.0); 

Наша ошибка содержится здесь:
PHP код:

-2041.0120,456.2717,35.1719,20.0  
-2041.0120,456.2717,35.1719--------- это на ша координата (она нас не интересует)
20.0--------вот наша ошибка (20----это расстояние с которого наш текст будет виден)
а вот 0 это у нас testLOS- линия видимости 

решение простое:
Нам 0 нужно заменить на 1
PHP код:

Create3DTextLabel(" ТУт типо текст .",0xFFA500FF,1111.1111,111.1111,11.1111,20.1);

9)

PHP код:

warning 203: symbol is never used: %s

Это означает что данный символ нигде не используется
Пример :
Создадим допустим переменную

new respon;

И тут у нас возникает
PHP код:

(1578) warning 203: symbol is never used: "respon"

Что же делать?
Ответ прост:
найти эту переменную и удалить

10)
PHP код:

warning 204: symbol is assigned a value that is never used %s

Это значит что создали переменную и массив а он негде не используется
Пример:
PHP код:

new blabal[15]; 

Решения: просто удалить

11)
PHP код:

warning 209: function "%s" should return a value 

Это значит что наша функция не возвращается(простыми словами нету return 1; или return 0
пример:

PHP код:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) 
{ 
   if (newkeys == 1024) 
   { 
   OnPlayerCommandText(playerid,"/Blablabal"); 
   return 1; <========Вот наш return  ДО
   } 
}  

Решения:
PHP код:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if (newkeys == 1024)
   {
   OnPlayerCommandText(playerid,"/Blablabal");
   }
   return 1; <========Вот наш return ПОСЛЕ
}  

[Error]

1)
PHP код:

error 040: duplicate "case" label (value 28) 

это означает что case стаким значением повторяется
Решение этой проблемы простое
PHP код:

case 28:
case 28: 

нам нужно цифру 28 изменит на другую (в той строчке на которую жалуется )

2)
PHP код:

error 032: array index out of bounds (variable "JoinPed")

Это означает что индекс массива превышен (но не всегда смотрим дальше)
Пример:
PHP код:

new JoinPed[131][1] = {

131- массив поигравшись с ним я понял что дело не в нем, а в чём-же спросите вы?
пример данной ошибки:
PHP код:

 else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[98][0]; }

как видим
JoinPed[123] с начало с таким значением, а потом JoinPed[98]
Решение простое:
JoinPed[123] число в данных скобках должно быть одинаковым.
пример:
PHP код:

else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[123][0]; }

3)
PHP код:

error 037: invalid string (possibly non-terminated string) 

Это означает что строка неправильная а точнее где то допущена ошибка
пример:
PHP код:

else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера; }

как видим нам после слова «модера» не хватает «
пример:
PHP код:

else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера"; }

4)
PHP код:

error 001: expected token: ",", but found ";"

Это значит что мы пропустили знак или скобку (в данном примере скобку)
Пример:

PHP код:

public SaveProdykts()
{
    new idx;
    new File: file2;
    while (idx < sizeof(ProdyktsInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
        ProdyktsInfo[idx][prSous],
        ProdyktsInfo[idx][prPizza],
        ProdyktsInfo[idx][prMilk],
        ProdyktsInfo[idx][prJuice],
        ProdyktsInfo[idx][prSpirt],
        ProdyktsInfo[idx][prChicken],
        ProdyktsInfo[idx][prKolbasa],
        ProdyktsInfo[idx][prFish],
        ProdyktsInfo[idx][prIceCream],
        ProdyktsInfo[idx][prChips],
        ProdyktsInfo[idx][prZamProd];
        if(idx == 0)
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_write);
        }
        else
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}  

смотрим на
PHP код:

ProdyktsInfo[idx][prZamProd];

и вим что мы пропустили )
и так оно выглядит
PHP код:

ProdyktsInfo[idx][prZamProd]);

PHP код:

public SaveProdykts()
{
    new idx;
    new File: file2;
    while (idx < sizeof(ProdyktsInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
        ProdyktsInfo[idx][prSous],
        ProdyktsInfo[idx][prPizza],
        ProdyktsInfo[idx][prMilk],
        ProdyktsInfo[idx][prJuice],
        ProdyktsInfo[idx][prSpirt],
        ProdyktsInfo[idx][prChicken],
        ProdyktsInfo[idx][prKolbasa],
        ProdyktsInfo[idx][prFish],
        ProdyktsInfo[idx][prIceCream],
        ProdyktsInfo[idx][prChips],
        ProdyktsInfo[idx][prZamProd]);< ----------- И вот наша скобка 
        if(idx == 0)
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_write);
        }
        else
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}  

5)

PHP код:

error 002: only a single statement (or expression) can follow each "case"

Это означает что у вас после «case» идет if(dialogid == )
Пример:
PHP код:

 case 7507: 
    { 
        if(response) ClothesSex[playerid] = 1; 
        else ClothesSex[playerid] = 2; 
        ShowPlayerDialog(playerid,7504,2,"??????? ??????","{A0B0D0}?????????? ?????? {7CC000}300$n{A0B0D0}??????? ?????? {7CC000}300$n{A0B0D0}???????????? ?????? {7CC000}300$n{A0B0D0}?????","???????","?????"); 
        return 1; 
    } 
if(dialogid == 7504)  <------------------- вот наша и ошибка 
    { 
        if(response) 
        { 
              SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid, 1); 
              SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); 
              ClothesRun[playerid] = 0; 
            return 1; 
        }  

Решение простое:
if(dialogid == 7504) это нам нужно заменить на case как и последующий диалог !

PHP код:

case 7504:  <------------------- вот так это выглядит
    { 
        if(response) 
        { 
              SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid, 1); 
              SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]); 
              ClothesRun[playerid] = 0; 
            return 1; 
        }  

6)
PHP код:

error 004: function "%s" is not implemented 

Это означает что мы пропустили скобку.
Мой совет
1)проверить весь код в ручную
2)на форуме был урок как найти не по ставленую скобку
3)Можно воспользоватся notepad++ там показы линии открытых скобок и тогда можно найти эту скобку

7)
PHP код:

error 017: undefined symbol %s

Это означает что мы не поставили переменную (new)
Пример:
PHP код:

error 017: undefined symbol "lol"

Решение:
Ко всем new добавим
PHP код:

new lol;

47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

1

09.11.2010, 14:53. Показов 5985. Ответов 19


Студворк — интернет-сервис помощи студентам

Добрый день я наверно достал вас вопросами( извините
вопрос
создаю программу но каждый раз как компилю проверяю запускаеца всё но выбрасывает
[C++ Warning] Unit2.cpp(26): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit3.cpp(31): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit3.cpp(37): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit4.cpp(22): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit4.cpp(28): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit5.cpp(27): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit5.cpp(71): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit5.cpp(101): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(64): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(263): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(311): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(901): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(1491): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(2079): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(2671): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(3267): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(3868): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(4459): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(5051): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(5640): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9031): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9037): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9062): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9078): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9086): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9095): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9103): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9115): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9130): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9140): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9153): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9174): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9180): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit1.cpp(9204): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit6.cpp(32): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit6.cpp(37): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit6.cpp(37): W8057 Parameter ‘Action’ is never used
[C++ Warning] Unit6.cpp(45): W8057 Parameter ‘Sender’ is never used
Как это или исправить или убрать чтобы глаза не мозолило??



0



Эксперт С++

3951 / 1806 / 184

Регистрация: 21.11.2009

Сообщений: 2,540

09.11.2010, 15:16

2

Код приложения приведите.



0



Mrak19901124

47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 15:21

 [ТС]

3

могу часть привести а то если весь то места многовато займёт )
[C++ Warning] Unit2.cpp(26): W8057 Parameter ‘Sender’ is never used
Код Unit2.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
 
#include "Unit2.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm2::Button1Click(TObject *Sender )
{
Form2->Close();
}
//---------------------------------------------------------------------------

Добавлено через 1 минуту
в чём причина сам не могу разобраться



0



petruchodd

09.11.2010, 17:48

Не по теме:

интересные варнинги



0



47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 17:51

 [ТС]

5

может и интересные но они мне глаза мозолят как их исправить или убрать (



0



unStatiK

Заблокирован

09.11.2010, 18:01

6

Тут же четко написано параметр sender никогда не исаользуется …
Удали его из исходников и варнинги исчезнут



0



47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 21:36

 [ТС]

7

прикол в том что создаю новый файл с таким же кодом и нету никаких варнингов всё норм работает
а параметр sender используеца в «void __fastcall TForm2::Button1Click(TObject *Sender )» попробуй удалить сам

Добавлено через 3 часа 27 минут
кто то может показать нормальное решение??



0



Эксперт С++

3951 / 1806 / 184

Регистрация: 21.11.2009

Сообщений: 2,540

09.11.2010, 21:37

8

Mrak19901124, в том участке, который вы прислали, никаких недочётов нет.
Может что-то повреждено в заголовочных файлах. Скопируйте содержимое в новый проект.



0



Mrak19901124

47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 21:43

 [ТС]

9

увы все содержимое скопировать не могу (( слишком много и много напутано (((
бесит то что когда я создал новый проект и вписал вручную код

C++
1
Form2->Close();

то никаких варнингов нету ((( а в основном проекте выбивает ((
вот файл первой формы
[C++ Warning] Unit6.cpp(32): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit6.cpp(37): W8057 Parameter ‘Sender’ is never used
[C++ Warning] Unit6.cpp(37): W8057 Parameter ‘Action’ is never used
[C++ Warning] Unit6.cpp(45): W8057 Parameter ‘Sender’ is never used

Unit6.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "Unit3.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit6.h"
#include "Unit5.h"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm6 *Form6;
int p=0;
 
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
        : TForm(Owner)
{ 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm6::Timer1Timer(TObject *Sender)
{
p++;
ProgressBar1->Position=p;
if (p==10)
{Timer1->Enabled=false;
Button1->Visible=true;}
}
//---------------------------------------------------------------------------
void __fastcall TForm6::FormClose(TObject *Sender, TCloseAction &Action)
{
exit(1);        
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm6::Button1Click(TObject *Sender)
{
Form6->Visible=false;Form1->ShowModal();
}
//---------------------------------------------------------------------------



0



Эксперт С++

3951 / 1806 / 184

Регистрация: 21.11.2009

Сообщений: 2,540

09.11.2010, 21:44

10

Цитата
Сообщение от Mrak19901124
Посмотреть сообщение

увы все содержимое скопировать не могу (( слишком много и много напутано (((

Копипастом всё делается в течении 2-3 минут.



0



47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 21:58

 [ТС]

11

Ок вопрос с другой стороны есть какой то вред од этих варнингов ?



0



Эксперт С++

3951 / 1806 / 184

Регистрация: 21.11.2009

Сообщений: 2,540

09.11.2010, 22:11

12

Mrak19901124, нет, нету.



0



Супер-модератор

8783 / 2536 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

09.11.2010, 22:25

13

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



0



47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 22:30

 [ТС]

14

Но если с кодом все в порядке прога работает как нада «по крайней пере на даном этапе»
яж говорю переписывал тот же код в новом проекте и никаких варнингов не было (



0



Супер-модератор

8783 / 2536 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

09.11.2010, 22:32

15

Mrak19901124, ну так посмотри, что там за причина… предупреждение говорит о том, что у тебя есть переменная объявленная, но нигде не используемая



0



Mrak19901124

47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 22:37

 [ТС]

16

Цитата
Сообщение от Lord_Voodoo
Посмотреть сообщение

Mrak19901124, ну так посмотри, что там за причина… предупреждение говорит о том, что у тебя есть переменная объявленная, но нигде не используемая

вот тут то и загвоздка переменой такой я сам не создавал она я так понял создаётся при каком то событии типа

C++
1
2
3
4
void __fastcall TForm2::Button1Click(TObject *Sender )
{
Form2->Close();
}

void __fastcall TForm2::Button1Click(TObject *Sender )
событие то создаётся автоматически



0



Супер-модератор

8783 / 2536 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

09.11.2010, 22:44

17

Mrak19901124, а что у тебя за билдер-то? еще есть в настройках закладка, где можно отключить определенные предупреждения



0



47 / 12 / 4

Регистрация: 25.02.2010

Сообщений: 259

09.11.2010, 22:47

 [ТС]

18

Borland C++Builder 6
Отключить єто последний вариант решения но хотелось бы разобраться и устранить



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

28.05.2011, 23:06

19

Да никак походу, это видимо недостаток Builder 200x.
Архангельский пишит можно убрать «в списке опций Enable selected Warnings»
(Project->Options->Warnings)
Но я так и не разобрался что из списка следует отключать так что бы потом ниче не прогавить из обычных предупреждений. Так что неспешу удалять Builder 6.



0



Предупреждение как ошибка — Как избавиться от них



Я не могу понять, как избавиться от ошибок, которые в принципе не должны останавливать мою компиляцию в Visual Studio 2010 и не должно быть Show stoppers, или, по крайней мере, я исправлю их позже, но я не хочу, чтобы компиляция просто ошибалась и останавливалась на таких проблемах.

например, я получаю следующую ошибку:

Ошибка 1 предупреждение как ошибка: комментарий XML
на
‘ScrewTurn.Вики.Поисковая машина.Актуальность.Доработать(поплавок)’
есть тег paramref для ‘IsFinalized’,
но нет параметра с таким именем
C:wwwWikiScrewturn3_0_2_509SearchEngineRelevance.цезий
60 70 SearchEngine

этот код:

  /// <summary>
/// Normalizes the relevance after finalization.
/// </summary>
/// <param name="factor">The normalization factor.</param>
/// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
public void NormalizeAfterFinalization(float factor) {
if (factor < 0)
throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

if (!isFinalized)
throw new InvalidOperationException("Normalization can be performed only after finalization");
value = value * factor;
}

Я посмотрел в меню инструменты ->опции, и я не вижу, где я могу настроить компилятор и сказать ему не беспокоиться о комментариях или ошибках на основе XHTML.


394  


6  

6 ответов:

каждый проект в Visual Studio имеет параметр «обрабатывать предупреждения как ошибки». Пройдите через каждый из ваших проектов и измените эту настройку:

  1. щелкните правой кнопкой мыши на вашем проекте, выберите «Свойства».
  2. Нажмите Кнопку «Построить».
  3. переключите » обрабатывать предупреждения как ошибки «с» все «на» конкретные предупреждения «или»нет».

расположение этого переключателя зависит от типа проекта (например, библиотека классов или веб-приложение).

для Visual Studio Express 2013, чтобы избавиться от этих проблем, вы должны сделать следующее.

щелкните правой кнопкой мыши на свой проект нажмите кнопку Свойства. В окне Свойства из меню слева выберите
Свойства Конфигурации->C / C++ — > Общие

в правой части выберите

рассматривать предупреждение как ошибки нет

и

SDL проверяет нет

верхний ответ устарел для Visual Studio 2015.

английский:

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

— немецки:

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

или использовать это изображение в качестве ссылки, способ легче быстро мысленно выяснить местоположение:

enter image description here

для обработки всех предупреждений компилятора как ошибок компиляции
1) выбрав проект в обозревателе решений, в меню проект выберите команду свойства.

2) Перейдите на вкладку компиляция. (или вкладка сборки может быть там)

3) Установите флажок обрабатывать все предупреждения как ошибки. (или выберите параметр сборки и измените настройки «обрабатывать предупреждения как ошибки» на true. )

и если вы хотите избавиться от нее

чтобы отключить все компиляторы предупреждения

1) при выборе проекта в обозревателе решений в меню проект выберите пункт Свойства.

2) Перейдите на вкладку компиляция. (или вкладка сборки может быть там)

3) Установите флажок Отключить все предупреждения. ( или выберите параметр сборки и измените настройки «обрабатывать предупреждения как ошибки» на false. )

в свойства

перейти к свойствам конфигурации. В этом перейдите на C/C++ (или что-то в этом роде). , Затем нажмите кнопку общие
,В этом снимите флажок «обрабатывать предупреждение как ошибки»

вы можете управлять поведением в headerfile или C-file:

#pragma warning(error:4003) //not enough actual parameters for macro

еще тестируется с Visual studio 2015. У меня есть общий headerfile ‘compl_adaption.h ‘ для таких вещей, включенных во все файлы, чтобы установить это поведение для всех моих проектов, скомпилированных в visual studio.

Что такое сообщения об ошибках Warning.txt?

Общие ошибки выполнения Warning.txt

Ошибки файла Warning.txt часто возникают на этапе запуска HTTrack, но также могут возникать во время работы программы.
Эти типы ошибок TXT также известны как «ошибки выполнения», поскольку они возникают во время выполнения HTTrack. К числу наиболее распространенных ошибок выполнения Warning.txt относятся:

  • Не удается найти Warning.txt.
  • Warning.txt — ошибка.
  • Не удалось загрузить Warning.txt.
  • Ошибка при загрузке Warning.txt.
  • Не удалось зарегистрировать Warning.txt / Не удается зарегистрировать Warning.txt.
  • Ошибка выполнения — Warning.txt.
  • Файл Warning.txt отсутствует или поврежден.

Библиотека времени выполнения Microsoft Visual C++

Ошибка выполнения!

Программа: C:Program Files (x86)WinHTTracksrc_winWarning.txt

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

В большинстве случаев причинами ошибок в TXT являются отсутствующие или поврежденные файлы. Файл Warning.txt может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с HTTrack) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла Warning.txt может быть вызвано отключением питания при загрузке HTTrack, сбоем системы при загрузке или сохранении Warning.txt, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

Как исправить ошибки Warning.txt — 3-шаговое руководство (время выполнения: ~5-15 мин.)

Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему Warning.txt. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите кнопку «Пуск» в Windows
  2. В поле поиска введите «Восстановление системы» и нажмите ENTER.
  3. В результатах поиска найдите и нажмите «Восстановление системы»
  4. Введите пароль администратора (при необходимости).
  5. Следуйте инструкциям мастера восстановления системы, чтобы выбрать соответствующую точку восстановления.
  6. Восстановите компьютер к этому образу резервной копии.

Если на этапе 1 не удается устранить ошибку Warning.txt, перейдите к шагу 2 ниже.

Шаг 2. Если вы недавно установили приложение HTTrack (или схожее программное обеспечение), удалите его, затем попробуйте переустановить HTTrack.

Чтобы удалить программное обеспечение HTTrack, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите кнопку «Пуск» в Windows
  2. В поле поиска введите «Удалить» и нажмите ENTER.
  3. В результатах поиска найдите и нажмите «Установка и удаление программ»
  4. Найдите запись для HTTrack 3.48.21 и нажмите «Удалить»
  5. Следуйте указаниям по удалению.

После полного удаления приложения следует перезагрузить ПК и заново установить HTTrack.

Если на этапе 2 также не удается устранить ошибку Warning.txt, перейдите к шагу 3 ниже.

HTTrack 3.48.21

Open Source

Шаг 3. Выполните обновление Windows.

Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках Warning.txt может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:

  1. Нажмите кнопку «Пуск» в Windows
  2. В поле поиска введите «Обновить» и нажмите ENTER.
  3. В диалоговом окне Центра обновления Windows нажмите «Проверить наличие обновлений» (или аналогичную кнопку в зависимости от версии Windows)
  4. Если обновления доступны для загрузки, нажмите «Установить обновления».
  5. После завершения обновления следует перезагрузить ПК.

Если Центр обновления Windows не смог устранить сообщение об ошибке Warning.txt, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.

Если эти шаги не принесут результата: скачайте и замените файл Warning.txt (внимание: для опытных пользователей)

Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла Warning.txt. Мы храним полную базу данных файлов Warning.txt со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии HTTrack . Чтобы загрузить и правильно заменить файл, выполните следующие действия:

  1. Найдите версию операционной системы Windows в нижеприведенном списке «Загрузить файлы Warning.txt».
  2. Нажмите соответствующую кнопку «Скачать», чтобы скачать версию файла Windows.
  3. Скопируйте этот файл в соответствующее расположение папки HTTrack:

    Windows 10: C:Program FilesCorelCorel VideoStudio 2019fr-FRUlead.datAboutDataLoc
    Windows 10: C:Program Files (x86)WinHTTracksrc_win
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019it-ITUlead.datAboutDataLoc
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019ja-JPUlead.datAboutDataLoc
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019nl-NLUlead.datAboutDataLoc

    Показать на 4 каталогов больше +

    Windows 10: C:Program FilesCorelCorel VideoStudio 2019Ulead.datAboutDataLoc
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019zh-CNUlead.datAboutDataLoc
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019de-DEUlead.datAboutDataLoc
    Windows 10: C:Program FilesCorelCorel VideoStudio 2019zh-TWUlead.datAboutDataLoc

  4. Перезагрузите компьютер.

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

СОВЕТ ОТ СПЕЦИАЛИСТА: Мы должны подчеркнуть, что переустановка Windows является достаточно длительной и сложной задачей для решения проблем, связанных с Warning.txt. Во избежание потери данных следует убедиться, что перед началом процесса вы создали резервные копии всех важных документов, изображений, установщиков программного обеспечения и других персональных данных. Если вы в настоящее время не создаете резервных копий своих данных, вам необходимо сделать это немедленно.

Скачать файлы Warning.txt (проверено на наличие вредоносного ПО — отсутствие 100 %)

ВНИМАНИЕ! Мы настоятельно не рекомендуем загружать и копировать Warning.txt в соответствующий системный каталог Windows. Open Source, как правило, не выпускает файлы HTTrack TXT для загрузки, поскольку они входят в состав установщика программного обеспечения. Задача установщика заключается в том, чтобы обеспечить выполнение всех надлежащих проверок перед установкой и размещением Warning.txt и всех других файлов TXT для HTTrack. Неправильно установленный файл TXT может нарушить стабильность работы системы и привести к тому, что программа или операционная система полностью перестанут работать. Действовать с осторожностью.

Файлы, относящиеся к Warning.txt

Файлы TXT, относящиеся к Warning.txt

Имя файла Описание Программа (версия) Размер файла (байты) Расположение файла
Portugues-Brasil.txt Plain Text HTTrack 3.48.21 36935 C:Program Files (x86)WinHTTracklang
AppCache13218563117487… Plain Text HTTrack 3.48.21 93601 C:UsersTesterAppDataLocalPackagesMicrosof…
AppCache13218562862626… Plain Text HTTrack 3.48.21 86821 C:UsersTesterAppDataLocalPackagesMicrosof…
AppCache13218587531991… Plain Text HTTrack 3.48.21 86821 C:UsersTesterAppDataLocalPackagesMicrosof…
0.0.filtertrie.interme… Plain Text HTTrack 3.48.21 32569 C:UsersTesterAppDataLocalPackagesMicrosof…

Вы скачиваете пробное программное обеспечение. Для разблокировки всех функций программного обеспечения требуется покупка годичной подписки, стоимость которой оставляет 39,95 долл. США. Подписка автоматически возобновляется в конце срока (Подробнее). Нажимая кнопку «Начать загрузку» и устанавливая «Программное обеспечение», я подтверждаю, что я прочитал (-а) и принимаю Лицензионное соглашение и Политику конфиденциальности компании Solvusoft.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти телефон андроид по номеру телефона
  • Как составить авансовый отчет на материалы
  • Как составить график поставки продукции
  • Как найти семена грибного биома в террарии
  • Как исправить пищевую агрессию у собаки

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии