質問させてください、

今DLLを作っているのですが、例えば文字列を
char *ではなくstring でやりとりするような関数をDLLで作ったとき、
1.そのDLLを利用するアプリケーション側 と
2.DLL側 とで
開発環境が異なっていてstringの実装詳細が違っていたりしたら
実行時エラーとかが起こってしまうのでしょうか?

ご回答よろしくお願いします。