We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.


Adds two numbers in a way that protects against overflow.

template<typename T, typename U>
inline bool SafeAdd (
   T t,
   U u,
   T& result
) throw ();

[in] t

The first number to add. This must be of type T.

[in] u

The second number to add. This must be of type U.

[out] result

The parameter where SafeAdd stores the result.

true if no error occurs; false if an error occurs.

This method is part of SafeInt Library and is designed for a single addition operation without creating an instance of the SafeInt Class.


This method should only be used when a single mathematical operation must be protected. If there are multiple operations, you should use the SafeInt class instead of calling the individual stand-alone functions.

For more information about the template types T and U, see SafeInt Functions.

Header: safeint.h

Namespace: Microsoft::Utilities