20Fermer22
Pen^2Le 26/01/2007 à 12:43
rhrhhrhahahahhahahahhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaa !!!


Est ce que quelqu'un saurait me dire pourquoi le comportement est différent selon que __WORKAROUND__ est défini ou pas ? trifus
(avec __WORKAROUND__ ça compile, sans, c'est l'erreur qui suit le code)


#if !defined(AFX_DRIVERMANAGER_H__1B88321E_CFE9_42B3_9178_C3A4FEACA729__INCLUDED_)
#define AFX_DRIVERMANAGER_H__1B88321E_CFE9_42B3_9178_C3A4FEACA729__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000



#include <string>

//#define __WORKAROUND__

namespace SQLManager
{
#ifndef __WORKAROUND__
	using namespace std ;
#endif
	class Connection ;


	class DriverManager
	{
	public:
		virtual ~DriverManager() ;

#ifndef __WORKAROUND__
		virtual Connection* getConnection( const string& url, const string& user, const string& password ) const = 0 ;
#else
		virtual Connection* getConnection( const std::string& url, const std::string& user, const std::string& password ) const = 0 ;
#endif
	} ;

}

#endif // !defined(AFX_DRIVERMANAGER_H__1B88321E_CFE9_42B3_9178_C3A4FEACA729__INCLUDED_)




Résultat de la compilation quand __WORKAROUND__ n'est pas défini :

PQ_DriverManager.cpp
c:\3dsmax6\maxsdk\samples\bddmanager\drivermanager.h(30) : error C2143: syntax error : missing ',' before '&'
c:\3dsmax6\maxsdk\samples\bddmanager\drivermanager.h(30) : error C2059: syntax error : '&'



La ligne 30 est celle là :

virtual Connection* getConnection( const string& url, const string& user, const string& password ) const = 0 ;