﻿# V574\. Pointer is used both as an array and as a pointer to single object\.

The analyzer detected a potential error: a variable is used simultaneously as a pointer to a single object and as an array\.

Let's study a sample of the error the analyzer has found in itself:

```cpp
TypeInfo *factArgumentsTypeInfo =
  new (GC_QuickAlloc) TypeInfo[factArgumentsCount];
for (size_t i = 0; i != factArgumentsCount; ++i)
{
  Typeof(factArguments[i], factArgumentsTypeInfo[i]);
  factArgumentsTypeInfo->Normalize();
}
```

It is suspicious that we handle the factArgumentsTypeInfo variable as the "factArgumentsTypeInfo\[i\]" array and as a pointer to the single object "factArgumentsTypeInfo \-\>"\. Actually we should call the Normalize\(\) function for all the items\. This is the fixed code:

```cpp
TypeInfo *factArgumentsTypeInfo =
  new (GC_QuickAlloc) TypeInfo[factArgumentsCount];
for (size_t i = 0; i != factArgumentsCount; ++i)
{
  Typeof(factArguments[i], factArgumentsTypeInfo[i]);
  factArgumentsTypeInfo[i].Normalize();
}
```