Your standards may list certain data types as being unsuitable (or should at least be checked) for attributes.
For example, in C++ these may be data types which are really pointers to objects that may be destroyed, such as a string object may be preferable as an attribute to const char*.
Consequences
The consequences will depend on the reason why the attribute has been added to this list.
Strategy
Again, this will depend on the reason the data type is forbidden.