問題は、同じ stringstream オブジェクトを再利用できないことです。代わりに次のようにしてみてください。
std::string version = curl_version();
version = version.substr( version.find( '/' ) + 1 );
int min, max;
int pos = version.find( '.' );
std::stringstream stream( version.substr( 0, pos ) );
version = version.substr( pos + 1 );
stream >> max;
pos = version.find( '.' );
std::stringstream stream1( version.substr( 0, pos ) );
stream1 >> min;
文字列ストリームからシフト (>>) して eof (stream.eof() を呼び出すことで確認できます) に達すると、(str() を呼び出すことによって) 設定してもそれ以上シフトアウトできないようにするフラグが設定されているようです。関連付けられた新しい文字列オブジェクト。これを機能させるには、再度シフトアウトする前に clear() を呼び出す必要があります。
std::string version = curl_version();
version = version.substr( version.find( '/' ) + 1 );
int min, max;
int pos = version.find( '.' );
std::stringstream stream( version.substr( 0, pos ) );
version = version.substr( pos + 1 );
stream >> max;
pos = version.find( '.' );
stream.str( version.substr( 0, pos ) );
str.clear();
stream >> min;