﻿# V3066\. Possible incorrect order of arguments passed to method\.

Анализатор обнаружил подозрительную передачу аргументов в метод\. Возможно некоторые аргументы перепутаны местами\.

Пример подозрительного кода:

```cpp
void SetARGB(byte a, byte r, byte g, byte b) 
{ .... }
void Foo(){
  byte A = 0, R = 0, G = 0, B = 0; 
  ....
  SetARGB(A, R, B, G);
  ....
}
```

Во время задания цвета объекта, перепутали синий и зелёный цвет\.

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

```cpp
SetARGB(A, R, G, B);
```

Рассмотри более сложный пример опечатки из реального проекта:

```cpp
public virtual string Qualify(string catalog, 
                              string schema, 
                              string table)
{ .... }
public Table AddDenormalizedTable(....) {
  string key = subselect ?? 
    dialect.Qualify(schema, catalog, name); 
  ....
}
```

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

```cpp
public Table AddDenormalizedTable(....) {
  string key = subselect ?? 
    dialect.Qualify(catalog, schema, name); 
  ....
}
```